package service // Error 带语义状态码的业务错误,由 handler 层映射为 HTTP 响应。 type Error struct { Status int Message string } func (e *Error) Error() string { return e.Message } // E 构造业务错误。 func E(status int, message string) *Error { return &Error{Status: status, Message: message} } // BadRequest / Forbidden / NotFound / Conflict / Internal 便捷构造。 func BadRequest(message string) *Error { return &Error{Status: 400, Message: message} } func Forbidden(message string) *Error { return &Error{Status: 403, Message: message} } func NotFound(message string) *Error { return &Error{Status: 404, Message: message} } func Conflict(message string) *Error { return &Error{Status: 409, Message: message} } func Internal(message string) *Error { return &Error{Status: 500, Message: message} }