2

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

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

我该如何解决这个 SonarQube 问题?

4

1 回答 1

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

你没有理由继续他们的不良做法。

于 2017-07-07T12:55:44.747 回答