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 } }