jes*_*580 9 java inheritance exception sonarqube
我创建了扩展Exception类的自定义基本异常.后来我正在扩展MyBaseException又把另一个类 - 这次是specyfic异常类.而我现在对SonarQube之一有一个问题 - 特别是" 类似命名的类"Exception"应该扩展"Exception"或子类 "规则.类声明看起来像这样:
import org.apache.log4j.Logger;
import org.springframework.http.HttpStatus;
public class MyBaseException extends Exception {
public MyBaseException(int code, String message) {
super(message);
this.code = code;
LOGGER.error("Exception with HttpStatus code: " + code + " Msg: "
+ message);
}
public MyBaseException(HttpStatus code, String message) {
this(code.value(), message);
}
public int getCode() {
return code;
}
}
import org.springframework.http.HttpStatus;
public class SpecException extends MyBaseException {
public SpecException (HttpStatus code, String message) {
super(code, message);
}
public SpecException (int code, String message) {
super(code, message);
}
}
Run Code Online (Sandbox Code Playgroud)
问题只有这个SpecException.SonarQube没有看到第一次继承的任何问题.SonarQube给出的提示是:" 重命名此类以删除"异常"或更正其继承. "但我认为继承是正确的,因为我继承了子类Exception.
在此链接中,有人说 Sonar 6.0 纠正了此问题:https://groups.google.com/forum/#!topic /sonarqube/iXxKGIYRZ1g 。
我刚刚意识到Sonar v6.0已经出来了,在我用新版本测试后问题就消失了。谢谢迈克尔抽出时间。
这似乎是以前版本的 Sonar 的一个错误。众所周知,Java 中的所有异常类都按惯例命名,并以“Exception”结尾,并且它们可以具有多个级别,因此只要上层异常扩展了该类,您的代码似乎就是正确的Exception。
| 归档时间: |
|
| 查看次数: |
2126 次 |
| 最近记录: |