healthapp
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

50 lines
1.5 KiB

package errorx
import "fmt"
// CodeError 业务错误
type CodeError struct {
Code int `json:"code"`
Msg string `json:"msg"`
}
func (e *CodeError) Error() string {
return fmt.Sprintf("code: %d, msg: %s", e.Code, e.Msg)
}
// NewCodeError 创建业务错误
func NewCodeError(code int, msg string) *CodeError {
return &CodeError{Code: code, Msg: msg}
}
// NewCodeErrorf 创建业务错误(格式化)
func NewCodeErrorf(code int, format string, args ...interface{}) *CodeError {
return &CodeError{Code: code, Msg: fmt.Sprintf(format, args...)}
}
// 预定义错误码
const (
CodeSuccess = 0
CodeBadRequest = 400
CodeUnauthorized = 401
CodeForbidden = 403
CodeNotFound = 404
CodeServerError = 500
CodeUserExists = 1001
CodeUserNotFound = 1002
CodeWrongPassword = 1003
CodeInvalidToken = 1004
)
// 预定义错误
var (
ErrBadRequest = NewCodeError(CodeBadRequest, "请求参数错误")
ErrUnauthorized = NewCodeError(CodeUnauthorized, "未授权")
ErrForbidden = NewCodeError(CodeForbidden, "禁止访问")
ErrNotFound = NewCodeError(CodeNotFound, "资源不存在")
ErrServerError = NewCodeError(CodeServerError, "服务器内部错误")
ErrUserExists = NewCodeError(CodeUserExists, "用户已存在")
ErrUserNotFound = NewCodeError(CodeUserNotFound, "用户不存在")
ErrWrongPassword = NewCodeError(CodeWrongPassword, "密码错误")
ErrInvalidToken = NewCodeError(CodeInvalidToken, "无效的Token")
)