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