if r := recover(); r != nil { fmt.Println("recovered from", r) // 获取调用栈信息 pc, file, line, ok := runtime.Caller(3) // 3 表示向上回溯 3 层 if ok { fmt.Printf("panic occurred in %s[%s:%d]\n", runtime.FuncForPC(pc).Name(), file, line) } }
go recover打印panic堆栈信息
于 2024-02-29 21:29:25 首次发布