Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func (foo *Foo) Bar() (err error) {
- foo.Begin()
- defer foo.End()
- //some business code
- err = fmt.Errorf("oh no, an error!") // set error so that Bar returns it even though it's caught
- panic(err)
- return
- }
- func (foo *Foo) End() {
- err := recover()
- if err != nil {
- foo.Rollback()
- } else {
- foo.Commit()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement