2
在下面的代碼我從squid:RedundantThrowsDeclarationCheck
規則的Foo1Exception
警告(在throws
關鍵字後面):Remove the redundant '!unknownSymbol!' thrown exception declaration(s).
SonarLint - RedundantThrowsDeclarationCheck - 誤報?
Foo.java:
public class Foo {
public static boolean bar(final String test) throws Foo1Exception, Foo2Exception {
if (test.startsWith("a")) {
throw new Foo1Exception();
} else if (test.startsWith("b")) {
throw new Foo2Exception();
} else if (test.startsWith("c")) {
return true;
}
return false;
}
}
兩個例外單獨的文件decrlared:
Foo1Exception.java:
class Foo1Exception extends Exception {}
Foo2Exception.java:
class Foo2Exception extends Exception {}
我認爲這是一個假陽性,是不是? 也有趣:我不直接在SonarQube(網絡界面)中的IntelliJ IDEA中的SonarLint插件中獲取此消息。 任何想法?
我在用:IntelliJ IDEA 2016.2.2; SonarLint 2.3(帶有工作服務器綁定); SonarQube 5.6; SonarQube Java插件4.0; Java 8
你是否從相同的服務器(可能是遠程)獲取規則?或者只是使用默認規則集? –
您的項目如何準確設置?這似乎是異常的類型沒有解決,這就是(錯誤地)提出問題的原因。該異常的源代碼是否在同一個模塊中?你能分享一下這方面的細節嗎? – benzonico
@SweetWithrathne,我配置了我的遠程服務器並點擊了「更新綁定」按鈕。它正在工作。我在幾個月後沒有任何問題地使用它,並且在更改服務器上的規則之後,單擊「更新」按鈕我在SonarLint中獲得了更新後的規則。你是這個意思嗎? –