From 9a620e97bcaa9db22e165b03a9331dd7a8de7948 Mon Sep 17 00:00:00 2001 From: divinerapier Date: Fri, 28 Nov 2025 10:14:40 +0800 Subject: [PATCH] Fix: properly handle recover in nested defer functions --- main.go | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/main.go b/main.go index f126897..c96559f 100644 --- a/main.go +++ b/main.go @@ -45,14 +45,12 @@ func main() { l.Close() }() defer func() { - defer func() { - if err := recover(); err != nil { - l.Error("Panic: %v", err) - buf := make([]byte, 1024) - n := runtime.Stack(buf, false) - l.Error("Stack trace: \n%s", buf[:n]) - } - }() + if err := recover(); err != nil { + l.Error("Panic: %v", err) + buf := make([]byte, 1024) + n := runtime.Stack(buf, false) + l.Error("Stack trace: \n%s", buf[:n]) + } }() logger.InitLogger(config.GetLogLevel(), config.GetLogFile())