求大神指教, 如何写一个全局recover,保证服务不会因为go程里面的panic整个挂掉

ywdhzxf · · 3669 次点击
panic还赖测试? 你测试能测试出数据库/redis 连接中断?能测试出调用第三方接口失败? recover什么时候是用来恢复panic了? recover的返回值是什么?recover是用在defer里的知道不?还recover让程序带病跑下去? 和软件质量有什么关系? 来,官方的说明 https://blog.golang.org/defer-panic-and-recover 来,spec里是怎么说的 https://golang.org/ref/spec#Handling_panics Two built-in functions, panic and recover, assist in reporting and handling run-time panics and program-defined error conditions. “program-defined error”看得到么? 来,让我们看看官方的html/template包的Must函数 func Must(t *Template, err error) *Template { if err != nil { panic(err) } return t } 谁给你的自信说panic就是"不能自行恢复的错误,不是临时性的错误。 如果出现了panic的情况那就是必须要退出程序紧急处理了" 梁静茹么?
#24
更多评论
polaris
社区,需要你我一同完善!
没法全局,只能每个 gorouitne 自己 recover 自己。
#1
<a href="/user/polaris" title="@polaris">@polaris</a> 如果不考虑go程的话可以监听, 但是go程里面不知道咋监听...
#2