您认为可以在异常内使用错误代码来指定错误类型吗?请看下面的代码:
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; } }
我知道在此示例中使用枚举而不是字符串会更好,但是我实际上担心错误代码的概念。您认为在这里异常层次结构会更好吗?我找不到任何权威来源指出异常中的错误代码是反模式的。谢谢。
如果您想根据导致异常(无效名称或无效ID)的原因做出不同的响应(在代码中),那么我建议您使用不同的异常。
如果不是,那么您甚至不需要该getErrorCode()方法,您只需将错误代码添加到异常消息中,该异常将为您提供调试所需的所有信息。
getErrorCode()