欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

golang中的recover

发布时间:2025/6/15 22 豆豆
生活随笔 收集整理的这篇文章主要介绍了 golang中的recover 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

recover

崩溃了恢复

func testa() {fmt.Println("aaaa") }func testb() {defer func() {//可以打印错误信息//recover()//fmt.Println(recover())//没有错就不要打印if err := recover(); err != nil { //产生了panic异常fmt.Println(err)}}()//显示调用panic函数panic("this is a panic test")fmt.Println("bbbb") }func testc() {fmt.Println("cccc") }func main() {testa()//不会打印testb()testc() }

控制链

 

func main() {fmt.Println("Enter function main.")panic(errors.New("something wrong"))p := recover()fmt.Printf("panic: %s\n", p)fmt.Println("Exit function main.") }

这个不可以

需要defer结合使用
defer定义在恐慌前面是可以的

func main() {fmt.Println("Enter function main.")defer func() {//可以打印错误信息//recover()//fmt.Println(recover())//没有错就不要打印if err := recover(); err != nil { //产生了panic异常fmt.Println(err)}}()panic(errors.New("something wrong"))fmt.Println("程序退出了") }

总结

以上是生活随笔为你收集整理的golang中的recover的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。