1234567891011121314151617181920212223242526272829 |
- 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()
- }
- }
|