package exception import ( "exam_system/result" "fmt" "github.com/gin-gonic/gin" "net/http" "runtime/debug" ) func Recover() gin.HandlerFunc { return func(c *gin.Context) { defer func() { if r := recover(); r != nil { fmt.Errorf("panic %v\n", r) debug.PrintStack() c.JSON(http.StatusInternalServerError, result.UNKNOW_ERROR.SetMsg(r.(error).Error())) c.Abort() } }() c.Next() } }