说明

介绍框架自带的error模块使用方法。

函数

  1. package service
  2. import "github.com/ebar-go/ego/errors"
  3. func ExecuteSomeLogic() error{
  4. return errors.New(1001, "参数错误")
  5. }

组合拳

当组合使用middleware.Recover中间件与errors时,可以有效减少你的if err 判断:

  1. func main() {
  2. server := ego.HttpServer()
  3. server.Router.Use(middleware.Recover)
  4. // 添加路由
  5. server.Router.GET("/test", func(context *gin.Context) {
  6. fmt.Println("hello,world")
  7. })
  8. server.Router.Get("error", func(context *gin.Context) {
  9. err := service.ExecuteSomeLogic()
  10. egu.SecurePanic(err) // 这句panic会触发recover,New函数的code参数将作为response的code..
  11. response.WrapContext(context).Success(nil)
  12. })
  13. // 默认启动8080
  14. egu.SecurePanic(server.Start())
  15. }