Files
workspace/code/base-project/base-go/pkg/middleware/recovery.go
T
2025-08-25 17:22:54 +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()
}
}