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