package main
import (
"fmt"
"github.com/gin-gonic/gin"
_ "github.com/go-sql-driver/mysql"
"gorm.io/gorm"
"net/http"
)
var Db *gorm.DB
type Dade1 struct {
Id int
Dade string
Dada string
}
func main() {
router := gin.Default()
router.Use(Recovery())
router.GET("/test", func(c *gin.Context) {
// 模拟触发 panic
panic("This is a panic")
fmt.Println("进不来了")
})
router.GET("/test2", func(c *gin.Context) {
// 模拟触发 panic
fmt.Println("大得")
})
router.Run("0.0.0.0:8000")
}
func Recovery() gin.HandlerFunc {
return func(c *gin.Context) {
defer func() {
if err := recover(); err != nil {
fmt.Println("出错啦")
// 可以在这里记录错误日志
c.AbortWithStatus(http.StatusInternalServerError)
c.JSON(200, "出错啦")
}
}()
c.Next()
}
}
go,gin错误,panic错误,程序结束统一返回
于 2024-09-16 11:39:06 首次发布