recover
golang recover 错误恢复机制,并搭配协程,让 golang 程序可以很健壮,并不易 crash
同时,项目时间一长,会有各种花式 recover 代码
在笔者写这片文章前,当前项目中,有 200+ 段 recover 代码
同时, golang panic 信息需要及时到达给程序,避免 panic 信息在日志文件中刷屏,而程序却不知情
因此需要统一错误处理,实现诸如报警
等公共功能的基础上,让程序可以自定义某些错误处理实现
实现方案
默认 golang 错误处理,都长这样:
defer func() {
if r :=