In Java ist es ein Fehler beim Kompilieren, um eine Ausnahme abzufangen, die nicht im try-Block ausgelöst wird, aber es ist kein Fehler bei der Kompilierung deklarieren Sie eine ausgelöste checked-exception in einer Methode, auch wenn diese Methode diese Ausnahme nicht auslösen kann.Konfigurieren Sie den Java-Compiler für den Fehler, wenn die Methode nicht deklariert werden kann. Ausnahme
In Eclipse ist es jedoch möglich, dies über die Compiler-Konfiguration (http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fpreferences%2Fjava%2Fcompiler%2Fref-preferences-errors-warnings.htm) zu ändern.
Ist es möglich, dasselbe Verhalten während des standardmäßigen Java-Kompilierungsprozesses über Compiler-Flags zu erzeugen? Insbesondere möchte ich diese Überprüfung in einen Maven Build integrieren. Deklarierte Ausnahmen, die nicht ausgelöst werden können, erzeugen unnötige Catch-Blöcke, Fehlerbehandlungsroutinen und sogar Komponententests, die alle von der weiteren Fehlersuche und Erweiterung des vorhandenen Codes ablenken und unnötigen Aufwand zum Abfangen und Testen dieser Ausnahmen verursachen.
Können wir einen "saubereren" Kodierungsstandard über den Java-Compiler erzwingen?
Ich ging davon aus, dass die throws-Deklaration von geprüften und ungeprüften Ausnahmen implizit und klar von meiner Frage war, aber nach dem erneuten Lesen haben Sie Recht. Ich habe es nicht explizit erwähnt. –
Leider sogar mit -Xlint: javac kompiliert die folgende Methode ohne Fehler. öffentliche Klasse MyClass { public void test() löst java.io.IOException aus { System.err.println ("Keine Ausnahme hier!"); } } –
Das war, was ich dachte, würde passieren. –