我们有一个异常A类,其中定义了一些错误代码,public static final
并且在源代码的许多文件(超过100个)中引用了该错误代码。我们希望B类中的所有这些故障代码都可以进行一些处理。
当前,我们已经实现了一种getFaultCodes()
在Class A中调用的方法,以构建故障代码列表并返回。这种方法的问题在于,每当引入故障代码时,也必须将其添加到getFaultCode
方法中。这很容易出错,因为用户可能会忘记将新代码添加到方法中。
将这些故障代码移动到a下enum
需要在源代码中的许多文件中进行更改,因此我们不希望这样做。
class ExceptionA {
public static final String faultCode1 = "CODE1";
public static final String faultCode2 = "CODE1";
public static final String faultCode3 = "CODE1";
List<String> getFaultCodes(){
list.add(faultCode1);
......
return list;
}
}
我们正在考虑使用反射,但是我在这个论坛上发帖只是为了检查是否有更好的解决方案。请提供您解决此问题的建议。
我已经修改了如下代码:
class ExceptionA {
public enum codes {
CODE1("CODE1"),
CODE2("CODE2"),
CODE3("CODE3"),
private String code;
codes(String code){
this.code = code;
}
public String getCode() {
return this.code;
}
}
public static final String faultCode1 = code.CODE1;
public static final String faultCode2 = code.CODE2;
public static final String faultCode3 = code.CODE3;
}
这样我就不必更改源代码中出现的变量“ faultCode”,因此可以访问其他类的故障代码列表。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句