如何避免SonarQube关于抽象异常的问题?

时间:2017-07-07 12:50:30

标签: java sonarqube sequence adroitlogic

我正在使用SonarQube进行代码质量分析。我使用AdroidLogic API中的AbstractJavaSequence在java中编码。

我的许多项目类扩展了这个类并覆盖了execute方法,默认情况下声明throws Exception。 SonarQube分析提出了一个问题,声明该类使用的是通用异常而不是特定异常。

如何解决此SonarQube问题?

1 个答案:

答案 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 {
    }
}

你没有理由继续他们的不良行为。