package domain var ( ErrInvalidParams = NewError(400, "invalid params") ErrRecordNotFound = NewError(404, "record not found") ) type Error struct { Code int `json:"code"` Msg string `json:"msg"` } func NewError(code int, msg string) *Error { if code == 0 { code = -1 } return &Error{code, msg} } func (e *Error) Error() string { return e.Msg } func IsRecordNotFoundError(err error) bool { if e, ok := err.(*Error); ok { return e.Code == ErrRecordNotFound.Code } return false }