recover.go
package main
import "fmt"
func myPanic() {
panic("a problem")
}
func main() {
defer func() {
if r := recover(); r != nil {
fmt.Println("recovered. Error:\n", r)
}
}()
myPanic()
fmt.Println("After myPanic()")
}
recover.go
package main
import "fmt"
func myPanic() {
panic("a problem")
}
func main() {
defer func() {
if r := recover(); r != nil {
fmt.Println("recovered. Error:\n", r)
}
}()
myPanic()
fmt.Println("After myPanic()")
}
上一篇:Golang 异常panic
下一篇:Golang 正则表达式
文章目录背景panicpanic 函数声明panic 返回panic 引发recoverpanic & recover 使用例子recover 后程序正常执行背景在 go 中没有 try catch 的异常处理语句,但是有 defer,panic,recovor 来控制程序执行流程当某函数 fun 出发 panic 异常,fun 后面代码停止运行,转而去运行 defer 代码(如果有 defer),再然后结束 fun 函数,并将当前处理权交给 fun 的调用函数,recover 之后函数正常往
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M