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

hellsam · · 1054 次点击
~~~ <a href="/user/kangyunqiang" title="@kangyunqiang">@kangyunqiang</a> 我刚才这样改了下 貌似也可以 func Say(s string) { fmt.Println(s) a, err := http.Get(&#34;http://127.0.0.1:8080/ntp&#34;) if err != nil { // panic(err) log.Println(&#34;错误信息:&#34;, err) // 这里直接去掉panic了 用log 程序也没有自动退出了 抓取的异常一样的,不知道这样写有什么BUG不 或则占用内存什么的不 } a.Body.Close() } ~~~
#4
更多评论
修改say增加异常处理部分代码: func Say(s string) { defer func() { // 必须要先声明defer,否则不能捕获到panic异常 fmt.Println(&#34;c&#34;) if err := recover(); err != nil { fmt.Println(err) // 这里的err其实就是panic传入的内容,55 } fmt.Println(&#34;d&#34;) }() fmt.Println(s) a, err := http.Get(&#34;http://127.0.0.1:&#34;) if err != nil { panic(err) } a.Body.Close() }
#1
修改say增加异常处理部分代码: ![image.png](https://static.studygolang.com/171217/8d71605c25e60e4de2d0293d94459370.png)
#2