当前位置: 首页 > news >正文

厦门做网站优化哪家好哪里创建免费的网站

厦门做网站优化哪家好,哪里创建免费的网站,目前做外贸的网站哪个比较好,装潢设计装修panic() 和 recover() 是 Go 语言中用于处理错误的两个重要函数。panic() 函数用于中止程序并引发panic,而 recover() 函数用于捕获panic并恢复程序的执行。 什么是panic和recover? panic panic() 函数用于中止程序并引发panic。panic() 函数可以接收…

panic() 和 recover() 是 Go 语言中用于处理错误的两个重要函数。panic() 函数用于中止程序并引发panic,而 recover() 函数用于捕获panic并恢复程序的执行。

什么是panic和recover?

panic

  • panic() 函数用于中止程序并引发panic。
  • panic() 函数可以接收一个参数,该参数将作为panic的原因。
  • 当发生panic时,程序将停止执行,并开始寻找最近的recover调用。
  • 如果找不到recover调用,程序将打印panic的原因并退出。

recover

  • recover() 函数用于捕获panic并恢复程序的执行。
  • recover() 函数可以接收一个参数,该参数将存储panic的原因。
  • 如果在发生panic时调用了recover,程序将继续执行,并且panic的原因将被存储在recover的第一个参数中。
func main() {defer func() {err := recover()if err != nil {fmt.Println("panic:", err)}}()panic("hello, panic!")
}

panic 的传播

 panic 函数会向上传播到调用它的 goroutine。如果 panic 函数没有被捕获,则会一直向上传播,直到遇到 defer 语句中调用的 recover() 函数,或者程序退出。

注意事项

跨协程失效

panic 和 recover 不能跨协程使用。这意味着在一个协程中发生的panic只能在同一个协程中通过 recover 捕获。如果在一个协程中发生了panic,而在另一个协程中调用了 recover,那么 recover 将无法捕获panic。参考如下代码:

func main() {defer println("in main")go func() {defer println("in goroutine")panic("")}()time.Sleep(1 * time.Second)
}

失效的崩溃恢复

如果在一个defer函数中发生了panic,那么该defer函数后面的语句将不会被执行。这意味着在defer函数中使用 recover 来捕获panic是无效的。

func main(){defer fmt.Println("main....")defer func() {err := recover()if err != nil {fmt.Println("panic:", err)}}()panic("hello, panic!")
}

嵌套崩溃

嵌套崩溃是指在一个 goroutine 中调用 panic() 函数,然后在 defer 语句中再次调用 panic() 函数。在这种情况下,panic() 函数会从内向外传播,直到程序崩溃。嵌套崩溃可能会导致程序不可用,因此应避免使用。

func multiplePanic() {defer fmt.Println("in defer")defer func() {defer func() {panic("panic 3")}()panic("panic 2")}()panic("panic 1")
}

http://www.yayakq.cn/news/346862/

相关文章:

  • 网易那个网站可以做字幕旧衣收购哪个网站做的好
  • 网络营销是指南宁seo公司哪家好
  • 织梦网站做自动生成地图微信官网免费下载安装
  • 设计深圳网站制作山东德州如何网站建设教程
  • 网站改版会影响收录吗太原做网站页面的
  • 雄安微网站开发网站整站开发
  • 邯郸建设网站的公司如何快速做网站
  • 利用h5做网站的心得php主做哪种类型网站
  • 郑州网站推广公司服务网盟推广和搜索推广的区别
  • 贾汪网站开发新网站如何做seo推广
  • 中企高呈网站建设天津互联网公司排名
  • 如何搭建一个自己的网站中国国家培训网正规吗
  • ps做图哪个网站好医院做网站的好处
  • 建设网站计划 ppt国内网页做的好看的网站
  • 网站构造下拉列表怎么做最新的跨境电商平台有哪些
  • 什么网站可以接室内设计做网站建设员工技能要求
  • 免费的资料网站温江做网站的公司
  • 衡水医院网站建设wordpress 搭建教程 pdf
  • 做木箱的网站编程软件wordpress
  • 用jsp做网站一般会用到什么软件微信公众平台号官网
  • 揭西网站建设一级造价工程师分几个专业
  • 广州市建设企业网站报价实木餐桌椅移动网站建设
  • 网站备案被注销 2016重庆长寿网站设计公司哪家专业
  • 怎样查看网站服务商wordpress打开页面慢
  • php网站架设教程wordpress知识库系统
  • wordpress社交网站百度推广app下载安卓版
  • 网站推广优化广州番禺哪里有学网站建设
  • 网站悬浮窗广告如何做企业网站规划
  • 做网站容易找工作吗东莞市天英网络技术有限公司
  • 如何提高网站收录网站开发关键技术