recover.go 311 B

1234567891011121314151617
  1. package rescue
  2. import "github.com/zeromicro/go-zero/core/logx"
  3. // Recover is used with defer to do cleanup on panics.
  4. // Use it like:
  5. //
  6. // defer Recover(func() {})
  7. func Recover(cleanups ...func()) {
  8. for _, cleanup := range cleanups {
  9. cleanup()
  10. }
  11. if p := recover(); p != nil {
  12. logx.ErrorStack(p)
  13. }
  14. }