异常中的错误代码与异常层次结构

2024-06-30

您认为在异常中使用错误代码来指定错误类型可以吗? 请看一下这段代码:

public class MyException extends Exception {
    public static final String ERROR_CODE_INVALID_NAME = "";
    public static final String ERROR_CODE_INVALID_ID = "";
    ...

    private String errorCode;

    public MyException(String message, String errorCode) {
        super(message);
        this.errorCode = errorCode;
    }

    public String getErrorCode() {
        return errorCode;
    }
}

我知道在这个例子中最好使用枚举而不是字符串,但我实际上担心错误代码的概念。您认为异常层次结构在这里会更好吗?我找不到任何权威来源表明异常中的错误代码是反模式。 谢谢。


错误代码在以下情况下很有用:

  • 您无法显示完整的错误消息(洗碗机显示)
  • 代码必须在内部处理(如果出现特定代码或服务器向客户端发送错误代码,而客户端负责消息,则会触发某些逻辑)
  • 我们有很棒的手册,用户可以使用代码来获取全面的信息
  • 用户不需要知道发生了什么,但必须联系供应商

因此,大多数时候,我看不到错误代码有任何附加值。我更喜欢异常层次结构,或者至少是在日志文件中找到真正有用的清晰错误消息(即使在程序员离开公司两年后)。

如果您对错误代码有要求 - 解决方案也不错。考虑收藏all中央存储库(属性文件)中的错误代码,以便您可以轻松地交换完整的错误代码集:

myexception.ERROR_CODE_INVALID_NAME=text or number
myexception.ERROR_CODE_INVALID_ID=text or number
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

异常中的错误代码与异常层次结构 的相关文章

随机推荐