So simulieren Sie eine nicht behandelte Ausnahme in Java

8

Ich erstelle etwas Multithreading-Code und habe eine JobDispatcher-Klasse erstellt, die Threads erstellt. Ich möchte, dass dieses Objekt alle nicht behandelten Ausnahmen in den Worker-Threads behandelt, und deshalb verwende ich

%Vor%

Nun möchte ich diese Funktionalität testen - wie kann ich eine unbehandelte Ausnahme in der run () -Methode meines Worker-Objekts erzeugen?

    
Martin Wiboe 14.06.2010, 22:19
quelle

4 Antworten

14

Werfen Sie einfach eine Ausnahme aus.

ZB:

%Vor%

Abgeschlossen:

%Vor%     
Matthew Flaschen 14.06.2010, 22:21
quelle
5

Was ist das Problem mit dem Auslösen einer Ausnahme:

%Vor%

Innerhalb Ihrer Laufmethode. Und natürlich, es nicht zu fangen. Es sollte Ihren Handler auslösen.

    
Matias Valdenegro 14.06.2010 22:22
quelle
4

Sie sollten eine unchecked Ausnahme auslösen . Eine ungeprüfte Ausnahme erfordert nicht, dass Ihr Code sie verarbeitet, und ist daher ein guter Kandidat, um den gesamten Aufruf-Stack zu erreichen.

Sie können beispielsweise RuntimeException auswählen oder sogar etwas wie AssertionError , wenn Sie die Wahrscheinlichkeit minimieren möchten, dass ein Teil des Codes die Exception abfängt und zuvor behandelt es erreicht deinen Handler.

    
Eyal Schneider 14.06.2010 22:43
quelle
0

fügen Sie einfach diesen Code hinzu und Sie erhalten unbehandelte Ausnahme ohne Flusenfehler:

%Vor%     
Amir Hossein Ghasemi 10.09.2017 12:49
quelle

Tags und Links