40 lines
803 B
Go
40 lines
803 B
Go
package xerr
|
||
|
||
import "fmt"
|
||
|
||
// ICodeError 定义业务错误接口,用于跨包识别
|
||
type ICodeError interface {
|
||
GetErrCode() int
|
||
GetErrMsg() string
|
||
}
|
||
|
||
type CodeError struct {
|
||
errCode int
|
||
errMsg string
|
||
}
|
||
|
||
// 错误返回的 Error() 方法
|
||
func (e *CodeError) Error() string {
|
||
return fmt.Sprintf("ErrCode:%d,ErrMsg:%s", e.errCode, e.errMsg)
|
||
}
|
||
|
||
func (e *CodeError) GetErrCode() int {
|
||
return e.errCode
|
||
}
|
||
|
||
func (e *CodeError) GetErrMsg() string {
|
||
return e.errMsg
|
||
}
|
||
|
||
func NewErrCodeMsg(errCode int, errMsg string) *CodeError {
|
||
return &CodeError{errCode: errCode, errMsg: errMsg}
|
||
}
|
||
|
||
func NewErrCode(errCode int) *CodeError {
|
||
return &CodeError{errCode: errCode, errMsg: MapErrMsg(errCode)}
|
||
}
|
||
|
||
func NewErrMsg(errMsg string) *CodeError {
|
||
return &CodeError{errCode: ServerError, errMsg: errMsg}
|
||
}
|