package stdLog import ( "fmt" ) // SrvErr 错误定义 type SrvErr struct { Code CodeType `json:"code"` Msg string `json:"msg"` Cause string `json:"-"` } // New create an error func New(code CodeType, msg string, cause string) *SrvErr { return &SrvErr{ Code: code, Msg: msg, Cause: cause, } } func (s *SrvErr) Error() string { if s == nil { return "" } return fmt.Sprintf("code = %d, msg = %s ,case = %v", s.Code, s.Msg, s.Cause) } func (c CodeType) Msg() string { msg, ok := codeAndMsg[c] if ok { return msg } return "" } func (c CodeType) Tip() string { tip, ok := codeAndTip[c] if ok { return tip } return "" }