小学生也能看懂的Golang异常处理recover panic

🌌 专注Golang,Python语言,云原生,人工智能领域得博主

💜 过去经历的意义在于引导你,而非定义你,

💜 只要我们足够努力,任何人都有无限潜力

在这里插入图片描述

  • 🚀panic 抛出异常函数
  • 🚀recover 捕获异常函数

📣1:在一个主协成内捕获异常

package main

import (

"fmt"

)

func main(){

defer func(){

err := recover()

if err != nil{

fmt.Println("捕获到异常")

}

}()

panic("异常出现") //抛出异常,代表错误代码

}

🚀运行结果

在这里插入图片描述

📣2:假设子协成内部错误,看看主协成能不能捕获到

package main

import (

"fmt"

)

func Calculate(){

panic("异常出现") // 同样代表错误代码

}

func main(){

defer func(){

err := recover()

if err != nil{

fmt.Println("捕获到异常")

}

}()

go Calculate()

time.Sleep(time.Second*3) //防止主协成过早退出,导致子协成没执行

}

🚀执行结果,主协成不能捕获到子协成的错误

在这里插入图片描述

📣3:假设子协成错误需要自己捕获

package main

import (

"fmt"

"time"

)

func Calculate(){

defer func(){

err := recover()

if err != nil{

fmt.Println("协成内部捕获异常")

}

}()

panic("异常出现")

}

func main(){

go Calculate()

time.Sleep(time.Second*3)

}

执行结果,成功捕获异常

在这里插入图片描述

到此这篇关于小学生也能看懂的Golang异常处理recover panic的文章就介绍到这了,更多相关Golang 异常处理 内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

以上是 小学生也能看懂的Golang异常处理recover panic 的全部内容, 来源链接: utcz.com/p/236299.html

回到顶部