1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package main
- import (
- "fmt"
- "github.com/pkg/errors"
- )
- // Response 错误时返回自定义结构
- type Response struct {
- Code ErrCode `json:"code"` // 错误码
- Msg string `json:"msg"` // 错误信息
- RequestId string `json:"request_id"` // 请求ID
- }
- type ErrCode int // 错误码
- // 定义 errorCode
- const (
- // ServerError 1开头为服务级错误码
- ServerError ErrCode = 10001
- ParamBindError ErrCode = 10002
- // IllegalDatasetName 2开头为业务级错误码
- // 其中数据集管理为201开头
- IllegalDatasetName ErrCode = 20101 // 无效的数据集名称
- ParamNameError ErrCode = 20102 // 参数name错误
- // IllegalPhoneNum 用户管理模块:202开头
- IllegalPhoneNum ErrCode = 20201 // 手机号格式不正确
- IllegalVerifyCode ErrCode = 20202 // 无效的验证码
- PhoneRepeatedRegistered ErrCode = 20203 // 手机号不可重复注册
- PhoneIsNotRegistered ErrCode = 20204 // 该手机号未注册
- PhoneRepeatedApproved ErrCode = 20205 // 手机号不可重复审批
- PhoneIsNotApproved ErrCode = 20206 // 该手机号未审批
- // IllegalModelName 预训练模块:203开头
- IllegalModelName ErrCode = 20301 // 非法模型名称
- )
- // 定义 errorCode 对应的文本信息
- var errorMsg = map[ErrCode]string{
- ServerError: "服务内部错误",
- ParamBindError: "参数信息有误",
- IllegalDatasetName: "无效的数据集名称",
- ParamNameError: "参数name错误",
- IllegalPhoneNum: "手机号格式不正确",
- IllegalModelName: "非法模型名称",
- }
- // Text 根据错误码获取错误信息
- func String(code ErrCode) string {
- if msg, ok := errorMsg[code]; ok {
- return msg
- }
- return "未知错误码"
- }
- // Error 实现 error 接口
- func (r *Response) Error() string {
- return fmt.Sprintf("Code: %d, Msg: %s, RequestId: %s", r.Code, r.Msg, r.RequestId)
- }
- // NewCustomError 新建自定义 error 实例化
- func NewCustomError(code ErrCode, requestId string) error {
- return errors.Wrap(&Response{
- Code: code,
- Msg: String(code),
- RequestId: requestId,
- }, "custom error")
- }
|