其他分享
首页 > 其他分享> > Go 的 panic 与 recover

Go 的 panic 与 recover

作者:互联网

简单使用

func main() {
      fmt.Println("c")
   defer func() { // 必须要先声明defer,否则不能捕获到panic异常
      fmt.Println("d")
      if err := recover(); err != nil {
         fmt.Println(err) // 这里的err其实就是panic传入的内容
      }
      fmt.Println("e")
   }()
   f() //开始调用f
   fmt.Println("f") //这里开始下面代码不会再执行
}

func f() {
   fmt.Println("a")
   panic("异常信息")
   fmt.Println("b") //这里开始下面代码不会再执行
}

 

-------output-------
c
a
d
异常信息
e

 

转自:https://www.jianshu.com/p/0cbc97bd33fb

标签:defer,err,fmt,Println,func,Go,recover,panic
来源: https://www.cnblogs.com/mingliangge/p/15953455.html