异常是为了展示在发生错误时应用到的状态。
把所有字段都设置为final,保证这个状态:
这可以让开发者很快了解哪里出了问题。
如下代码:
public class MyException extends Exception {
private int status; // Non-Compliant
public MyException(String message) {
super(message);
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
}
应该重构为:
public class MyException extends Exception {
private final int status; // Compliant
public MyException(String message, int status) {
super(message);
this.status = status;
}
public int getStatus() {
return status;
}
}