您认为在异常中使用错误代码来指定错误类型可以吗?
请看一下这段代码:
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(使用前将#替换为@)