safe.go 279 B

1234567891011121314151617181920
  1. package safe
  2. import (
  3. "runtime/debug"
  4. "speechAnalysis/pkg/logx"
  5. )
  6. func Go(fn func()) {
  7. go func() {
  8. defer RecoverPanic()
  9. fn()
  10. }()
  11. }
  12. func RecoverPanic() {
  13. if r := recover(); r != nil {
  14. logx.Errorf("panic: %v, stack trace: %v", r, string(debug.Stack()))
  15. return
  16. }
  17. }