package middleware import ( "runtime/debug" "github.com/gin-gonic/gin" "github.com/sirupsen/logrus" "gogs.daxia.dev/huanan/pkg.daxia.dev/webutils" ) func GlobalError() gin.HandlerFunc { return func(ctx *gin.Context) { defer func() { if err := recover(); err != nil { _, isRespError := err.(webutils.RespError) if !isRespError { //这里重新抛出 debug.PrintStack() logrus.Error(err) panic(err) } else { //什么都不做,吃掉这个异常 } } }() ctx.Next() } }