我目前正在开发一个新项目,它应该提供一个基于 Web 的 API。当然,在很多情况下,当请求的操作失败时,API 应该报告失败的原因。
以前我使用传统方式,当响应包含数字错误代码和更人性化的错误消息时,但维护错误代码列表以及我的代码和内部异常之间的映射有点令人沮丧。
我认为使用符号错误代码可能更方便,例如从异常名称生成。
我看到了这个想法的以下优点:
- 无需从异常映射到数字。
- 不可能将相同的错误代码分配给不同的错误类型(在我的情况下 - 异常)。
- 对于将自己使用 API 的开发人员来说,错误代码变得更加有用。
和缺点:
- 就封装而言,公开异常名称可能不是一个好主意。
- 由于 API 客户端应用程序主要使用错误代码来确定错误类型,因此比较字符串的成本更高。
- 不需要中央异常-> 错误代码注册表会增加错过文档中某些错误代码的机会。
那么,什么更好用:符号或数字错误代码?