登录
首页 >  Golang >  Go教程

Go中recover与panic区别详解

来源:脚本之家

时间:2023-02-16 15:36:08 329浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《Go中recover与panic区别详解》,介绍一下panic、recover,希望对大家的知识积累有所帮助,助力实战开发!

概念

panic 与 recover 是 Go 的两个内置函数,这两个内置函数用于处理 Go 运行时的错误。

panic用于主动抛出错误, recover 用来捕获panic 抛出的错误。

func main() {
  //捕获 异常
  defer func() {
    if p := recover(); p != nil {
      fmt.Printf("panic recover! p: %v", p)
      //类型判断
      str, ok := p.(string)
      if ok {
        err := errors.New(str)
        fmt.Println(err)
      } else {
        err := errors.New("panic")
        fmt.Println(err)
      }

    }
  }()
  fmt.Println("hello world")
  add(1, 0)
}

func add(x, y int) int {
  // 抛出错误
  panic("test")
  z := x / y
  return z
}

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:脚本之家 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表