代码拉取完成,页面将自动刷新
package errx
import (
"fmt"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
type CodeErr struct {
code ErrCode // 错误编码
msg string // 错误消息
innerError error
}
func (e *CodeErr) GetErrCode() ErrCode {
return e.code
}
func (e *CodeErr) InnerError() error {
return e.innerError
}
// EqualCode 对比错误码是否相等
func EqualCode(err error, code ErrCode) bool {
return status.Code(err) == codes.Code(code)
}
func (e *CodeErr) Error() string {
return fmt.Sprintf("[%d]%s", e.code, e.msg)
}
func NewCodeErrWithMsg(code ErrCode, msg string, inner error, opts ...CodeErrOption) *CodeErr {
params := append([]CodeErrOption{}, WithCodeOption(code), WithMsgOption(msg), WithErrorOption(inner))
params = append(params, opts...)
return NewCodeError(params...)
}
func NewCodeError(opts ...CodeErrOption) *CodeErr {
codeErr := CodeErr{
msg: "系统错误",
code: SERVER_COMMON_ERROR,
}
for _, opt := range opts {
opt(&codeErr)
}
if codeErr.code != SERVER_COMMON_ERROR && len(codeErr.msg) == 0 {
if m, ok := message[codeErr.code]; ok {
codeErr.msg = m
}
}
return &codeErr
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。