Files
workspace/code/go-project/base-farmework/pkg/middleware/recovery.go
T
2025-08-14 21:45:18 +08:00

25 lines
432 B
Go

package middleware
import (
"base-framework/pkg/reponse"
"base-framework/pkg/router"
"log"
"runtime/debug"
)
func Recovery() router.HandlerFunc {
return func(c *router.Context) {
defer func() {
if err := recover(); err != nil {
// 打印 panic 信息和堆栈
log.Printf("[Recovery] panic recovered: %v\n%s", err, debug.Stack())
reponse.Error(c).Send()
}
}()
// 调用后续 handler
c.Next()
}
}