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  }