github.com/orangebees/go-oneutils@v0.0.10/ExtErr/func.go (about) 1 package ExtErr 2 3 import ( 4 "github.com/orangebees/go-oneutils/Convert" 5 "strconv" 6 ) 7 8 // Err 错误指针 9 type Err = *ErrorStruct 10 11 // ErrorStruct 错误结构 12 type ErrorStruct struct { 13 code int 14 msg []byte 15 } 16 17 // 返回错误信息,标准错误接口实现的方法 18 func (e Err) Error() string { 19 return Convert.B2S(e.msg) 20 } 21 22 // ErrorBytes 返回错误信息字节切片 23 func (e Err) ErrorBytes() []byte { 24 return e.msg 25 } 26 27 // ErrorCode 返回错误码 28 func (e Err) ErrorCode() int { 29 return e.code 30 } 31 32 // ErrorCodeString 返回错误码字符串 33 func (e Err) ErrorCodeString() string { 34 return strconv.Itoa(e.code) 35 } 36 37 // SetErrorCode 设置错误码 38 func (e Err) SetErrorCode(code int) { 39 e.code = code 40 } 41 42 // SetError 从标准错误设置错误信息 43 func (e Err) SetError(err error) { 44 e.msg = append(e.msg[:0], err.Error()...) 45 } 46 47 // SetMsg 从标准错误设置错误信息 48 func (e Err) SetMsg(msg string) { 49 e.msg = append(e.msg[:0], msg...) 50 } 51 52 // NewErr 新建错误 53 func NewErr(msg string) Err { 54 t := ErrorStruct{ 55 code: 1, 56 } 57 t.SetMsg(msg) 58 return &t 59 }