Go 语言错误处理方式
方式一
type ResponseError struct {
Code int `json:"code,omitempty"`
Message string `json:"message,omitempty"`
RequestId string `json:"requestId,omitempty"`
Data interface{} `json:"data,omitempty"`
}
func (r *ResponseError) Error() string {
return r.Message
}
func UnWrapResponse(err error) *ResponseError {
if v, ok := err.(*ResponseError); ok {
return v
}
return nil
}
func NewResponse(code int, msg string, args ...interface{}) error {
var data = make(map[int]interface{}, 0)
res := &ResponseError{
Code: code,
Message: fmt.Sprintf(msg, args...),
Data: data,
}
return res
}
ErrResponseParamBuildError = errors.NewResponse(1001, "构建response出错")
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30