Holen Sie sich Alle Ausnahmen, die in einer Java-Anwendung
wie man alle Ausnahmen in einer java-Anwendung (mehrere Klassen und Pakete) an einem Ort?
Beispiel: eine Klasse erstellen, erhalten Sie alle Ausnahmen, die auf andere Anwendungsklassen
- Nicht bekommen Sie. Sie Scannen wollen durch die classpath-was sind die verfügbaren Ausnahme ?
- bitte geben Sie weitere details. möchten Sie alle Ausnahmen abfangen oder einfach nur sehen, was für Ausnahme-Klassen verfügbar sind (nur die Pakete oder auch java-Bibliothek)? sprechen Sie über Laufzeit und/oder überprüft Ausnahmen.
- Ausnahmen sind nicht die einzigen Dinge geworfen. Sie werfen Fehler und sogar Throwable oder sub-Klassen (die weder Fehler noch die Ausnahme)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie andere schon angedeutet, eine Möglichkeit ist, setzen Sie Ihre main-Methode in eine
try-catch
blockAndere Möglichkeit ist die Vorgabe der uncaughtExceptionHandler auf die
Thread
(s), die Sie mit derThread#setDefaultUncaughtExceptionHandler
Methode.Beachten Sie, dass beide Lösungen nur erlauben, Sie zu 'behandeln alle Ausnahmen in einem Ort", wenn Sie nicht erwischt werden-an anderen Orten in Ihrer Anwendung
Warum nicht, Sie haben einfach ein Klasse
ExceptionHandler
mit 2 Funktionenjeder
try{}catch(Exception e){}
verwenden Sie einfachExceptionHandler.handleException(e);
Um herauszufinden, welche Exception wird geworfen, verwenden Sie
instanceof
ZB.
In deiner main-Klasse können Sie so etwas wie dieses:
In den anderen Klassen sollten Sie werfen die Ausnahmen, wie:
Wenn Sie werfen den anderen Klassen " Ausnahmen, man kann sich mit Ihnen nur in der main-Klasse.
Klasse Ausnahme und Ihre Unterklassen sind eine form von Throwable, der angibt, Bedingungen, die eine angemessene Anwendung zu fangen.
Wenn Sie alle Methoden werfen die exception an die main-Methode aufrufen, dann können Sie fangen alle Ausnahmen.
Die Hierarchie der Ausnahme-Klassen beginnen ab Klasse Throwable ist die Basisklasse für eine ganze Familie von exception-Klassen deklariert
java.lang package
alsjava.lang.Throwable
.Können Sie verwenden:
try {
} catch (Exception e){
}