errcode.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package gatecode
  2. import (
  3. "errors"
  4. "strings"
  5. "github.com/gogf/gf/v2/errors/gcode"
  6. "github.com/gogf/gf/v2/errors/gerror"
  7. )
  8. // ErrCode 表示错误码
  9. type ErrCode int
  10. //go:generate stringer -type ErrCode -linecomment
  11. // 定义错误码 *代码后错误注释,即返回用户的错误信息
  12. const (
  13. GLOBAL_SUCCESS ErrCode = 0 + iota
  14. )
  15. const (
  16. // GLOBAL_ERR_NIL 常用全局异常定义
  17. GLOBAL_ERR_ERR ErrCode = 1000 + iota //代理服务异常
  18. GLOBAL_ERR_SIGN //无效的签名
  19. GLOBAL_ERR_NOBALANCE //余额不足
  20. GLOBAL_ERR_OFTEN //系统繁忙,请稍候再试
  21. GLOBAL_ERR_NOTFIND //请求地址不存在
  22. GLOBAL_ERR_MISSPARAM //缺少参数:%s
  23. GLOBAL_ERR_INVALIDPARAM //无效参数:%s
  24. GLOBAL_ERR_SERVICE //远端服务异常
  25. )
  26. var globalErrMap = map[ErrCode]string{
  27. GLOBAL_SUCCESS: "请求成功",
  28. GLOBAL_ERR_ERR: "代理服务异常",
  29. GLOBAL_ERR_SIGN: "无效的签名",
  30. GLOBAL_ERR_NOBALANCE: "余额不足",
  31. GLOBAL_ERR_OFTEN: "系统繁忙,请稍候再试",
  32. GLOBAL_ERR_NOTFIND: "请求地址不存在",
  33. GLOBAL_ERR_MISSPARAM: "缺少参数:%s",
  34. GLOBAL_ERR_INVALIDPARAM: "无效参数:%s",
  35. GLOBAL_ERR_SERVICE: "远端服务异常",
  36. }
  37. func (i ErrCode) String() string {
  38. return globalErrMap[i]
  39. }
  40. // NewErrorWithCode 创建异常
  41. func NewErrorWithCode(err ErrCode, detail ...string) error {
  42. return gerror.WrapCode(gcode.New(int(err), err.String(), strings.Join(detail, ",")), errors.New(err.String()))
  43. }