我正在通过jenkinsonarqube运行我的春季启动应用程序,在那里我遇到了一个代码气味问题,因为在扩展RuntimeException的自定义异常类中将字段设置为final下面是我的代码
@Getter
@Setter
public class CustomException extends RuntimeException {
/**
*
*/
private static final long serialVersionUID = -7436800211172984660L;
private Exception exception;
private JsonException jsonException;
public CustomException(Exception exception) {
this.exception = exception;
}
public CustomException(JsonException jsonException) {
this.jsonException = jsonException;
}
}
这是声纳代码的气味问题代码气味问题突出显示
如果我声明为final,那么构造函数将编译错误显示为The blank final field exception may not have been initialized
有人能在这个问题上帮我吗。
您是否尝试添加setter方法而不是注释?也许代码气味触发器无法看到exceion可以在对象构造后设置。
但我也相信,这实际上是一种代码气味,对于相同数据的不同表示,您有多个属性。