2016-08-18 2 views
2

Im folgenden Code erhalte ich eine Warnung von der squid:RedundantThrowsDeclarationCheck Regel auf den Foo1Exception (hinter dem throws Stichwort): Remove the redundant '!unknownSymbol!' thrown exception declaration(s).SonarLint - RedundantThrowsDeclarationCheck - falsch positiv?

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

} 

Beiden Ausnahmen in separaten Dateien decrlared sind:

Foo1Exception.java:

class Foo1Exception extends Exception {} 

Foo2Exception.java:

class Foo2Exception extends Exception {} 

Ich denke, das um einen Fehlalarm handelt, ist es nicht? Auch interessant: Ich bekomme diese Nachricht nicht direkt in SonarQube (Web-Interface) nur im SonarLint-Plugin in IntelliJ IDEA. Irgendwelche Ideen?

Ich benutze: IntelliJ IDEA 2016.2.2; SonarLint 2.3 (mit funktionierender Serverbindung); SonarQube 5.6; SonarQube Java Plugin 4.0; Java 8

+0

Holen Sie Regeln vom selben Server (möglicherweise remote)? oder einfach den Standardregelsatz verwenden ?? –

+0

Wie ist Ihr Projekt genau eingerichtet? Dies scheint der Typ der Ausnahme ist nicht gelöst und deshalb ein Problem (falsch) ausgelöst wird. Ist der Quellcode dieser Ausnahme im selben Modul? Kannst du Details darüber teilen? – benzonico

+0

@SupunWijerathne, Ich habe meinen Remote-Server konfiguriert und klickte auf die Schaltfläche "Update-Bindung". Und es funktioniert. Ich benutze das seit ein paar Monaten ohne Probleme und nach dem Ändern der Regeln auf dem Server, klicken Sie auf den "Update" -Button Ich habe die aktualisierten Regeln in SonarLint. Meinst Du das? –

Antwort