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
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")
|
|
)
|
|
|