@@ -230,6 +230,12 @@ func (c *WechatWsClient) ReadPump() {
for _, handler := range c.MessageHandler {
// todo 重启时这里会丢消息,回头需要用wg来进行平滑处理
go func() {
+ defer func() {
+ // 捕获panic, 防止程序崩溃
+ if r := recover(); r != nil {
+ logx.Error("Recovered in f", r)
+ }
+ }()
err = handler(&msg)
if err != nil {
logx.Error(err)