2017-07-07 88 views
1

我使用SonarQube進行我的代碼質量分析。我使用AdroidLogic API中的AbstractJavaSequence來編寫java代碼。如何避免有關抽象異常的SonarQube問題?

我的很多項目類都擴展了這個類並覆蓋了默認聲明throws Exception的execute方法。 SonarQube分析引發了一個問題,指出該類使用了一個通用的異常而不是特定的異常。

我該如何解決這個SonarQube問題?

回答

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

你沒有理由繼續他們的壞習慣。

+0

您可以鏈接到[JLS Sec 8.4.8.3](https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.4.8.3) ),其中描述了這一點。 –