思考(七十二):Golang 统一错误处理与报警

本文探讨了如何在Golang中使用`recover`进行错误恢复,以增强程序健壮性。针对项目中200+段分散的`recover`代码,提出统一错误处理的解决方案,整合`log`和`alarm`功能。通过封装`recover`,实现了在出现错误时不仅能记录日志,还能触发报警,如通过企业微信和钉钉的机器人接口实时通知。详细介绍了实现细节,包括`debugx.handle_error.go`和`debugx.wechat.wechat.go`的代码示例。
摘要由CSDN通过智能技术生成

recover

golang recover 错误恢复机制,并搭配协程,让 golang 程序可以很健壮,并不易 crash

同时,项目时间一长,会有各种花式 recover 代码

在笔者写这片文章前,当前项目中,有 200+ 段 recover 代码

同时, golang panic 信息需要及时到达给程序,避免 panic 信息在日志文件中刷屏,而程序却不知情

因此需要统一错误处理,实现诸如报警等公共功能的基础上,让程序可以自定义某些错误处理实现

实现方案

默认 golang 错误处理,都长这样:

defer func() {
   
    if r :=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fananchong2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值