1 个回答
在一个 defer 延迟执行的函数中调用 recover ,它便能捕捉/中断 panic。
// 错误的 recover 调用示例
func main() {
recover() // 什么都不会捕捉
panic("not good") // 发生 panic,主程序退出
recover() // 不会被执行
println("ok")
}
// 正确的 recover 调用示例
func main() {
defer func() {
fmt.Println("recovered: ", recover())
}()
panic("not good")
}
发布于:5个月前 (11-29) IP属地:四川省
我来回答
您需要 登录 后回答此问题!