文章目录
背景
在 go 中没有 try catch 的异常处理语句,但是有 defer,panic,recovor,error 来控制程序执行流程
panic
When you
panic
in Go, you’re freaking out, it’s not someone elses problem, it’s game over man.
当某函数 fun 出发 panic 异常,fun 后面代码停止运行,转而去运行 defer 代码(如果有 defer),再然后结束 fun 函数,并将当前处理权交给 fun 的调用函数,recover 之后函数正常往下运行。panic 返回值通过 recover 函数获取,如果 panic 函数没有被调用或者没有返回值,那么 recover 返回 nil
panic 函数声明
我们先看下 panic 函数声明如下:
func panic