wuroy.eth 13 часов назад
Родитель
Сommit
fe8db6cf1c
1 измененных файлов с 6 добавлено и 0 удалено
  1. 6 0
      internal/pkg/wechat_ws/wechat_ws_client.go

+ 6 - 0
internal/pkg/wechat_ws/wechat_ws_client.go

@@ -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)