问个GO线程问题!!!!!!

hellsam · · 1048 次点击
不太明白你想问什么,Get失败的时候 不是调用panic了吗 一旦走到这个分支 程序就退出了啊。你又没有recover。
#5
更多评论
修改say增加异常处理部分代码: func Say(s string) { defer func() { // 必须要先声明defer,否则不能捕获到panic异常 fmt.Println("c") if err := recover(); err != nil { fmt.Println(err) // 这里的err其实就是panic传入的内容,55 } fmt.Println("d") }() fmt.Println(s) a, err := http.Get("http://127.0.0.1:") if err != nil { panic(err) } a.Body.Close() }
#1
修改say增加异常处理部分代码: ![image.png](https://static.studygolang.com/171217/8d71605c25e60e4de2d0293d94459370.png)
#2