我正在使用SonarQube进行代码质量分析。我使用AdroidLogic API中的AbstractJavaSequence
在java中编码。
我的许多项目类扩展了这个类并覆盖了execute方法,默认情况下声明throws Exception
。 SonarQube分析提出了一个问题,声明该类使用的是通用异常而不是特定异常。
如何解决此SonarQube问题?
答案 0 :(得分:2)
仅仅因为你覆盖throws Exception
的方法,它并不意味着你必须这样做。
您可以自由地声明您完全抛出任何异常,或者抛出特定的异常:
public abstract class ParentClass {
abstract void doSomething() throws Exception;
}
这些都是有效的(显然,不是一次全部):
public class ChildClass extends ParentClass {
public void doSomething() {
}
public void doSomething() throws MyException {
}
public void doSomething() throws Exception {
}
}
你没有理由继续他们的不良行为。