lombok的@Data注解履腋,不僅會自動生成Getter和Setter方法珊燎,還會重寫類的equals(),hashCode()府树,toString()方法俐末。對異常子類造成了影響。
效果圖:
image.png
項目代碼:
@Data
public class SLException extends RuntimeException {
private int code;
public SLException() {
}
public SLException(int code, String message) {
super(message);
this.code = code;
}
public SLException(String message) {
super(message);
}
public SLException(String message, Throwable cause) {
super(message, cause);
}
public SLException(Throwable cause) {
super(cause);
}
public SLException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
super(message, cause, enableSuppression, writableStackTrace);
}
}
lombok自動生成的代碼:
image.png
可以看到奄侠,子類重寫了toString()方法,在打印堆棧的時候载矿,會輸出異常類的toString()方法垄潮,于是message就被丟棄了。
解決方案:可以將@Data注解換成@Getter注解闷盔。