try-catch-Block in Java - wird try-Block nach catch-Block weiter ausgeführt?
Wenn ich beispielsweise sowas habe:
try{
//Anweisungen
//X
//noch mehr Anweisungen
}
catch(Exception A){}
catch(Exception B){}
catch(Exception C){}
und bei meinen Anweisungen eine Exception A auftritt, die durch den ersten catch-Block behandelt wird, wird dann der try-Block an der Stelle, an der die Ausnahme geworfen wurde, nach der Behandlung weiter ausgeführt?
Wenn die Ausnahme also beispielsweise an Stelle X auftritt, werden dann nach der Fehlerbehandlung die "noch mehr Anweisungen" ausgeführt?
lg Kath
3 Antworten
Nein. Falls es etwas gibt, was noch unbedingt ausgeführt werden muss - wie z.B. das Schließen einer Datei, kann man finally verwenden.
Nein, tritt in try ein Fehler auf springt der in Catch und bleibt dort. Es geht dann nicht in try weiter. Wie auch, es gab ja einen fehler
Nope, bei dem ersten fehler wird abgebrochen.
Macht ja auch Sinn, denn meist führst du in dem Try Dinge aus, welche aufeinander aufbauen...
Macht ja auch Sinn, denn meist führst du in dem Try Dinge aus, welche aufeinander aufbauen...
Genau, und nicht nur im Try-Block, sondern generell im ganzen Kontrollfluss.
Das würde man dann anders programmieren:
try {
trySomethingWithFirstMethod();
} catch (Exception e) {
trySomethingWithSecondMethod();
}
Dann würdest du in trySomethingWithSecondMethod() wieder ein try-catch-Block bauen. Gibt vielleicht auch andere Möglichkeiten, die etwas geschickter sind.
ne, nicht direkt
try sagt aus, dass ein fehler auftreten kann und was bei einem fehler passieren soll
naja dachte dass die Fehlerbehandlung vllt dazu führen konnte, dass der Code dann doch korrekt ist oder so ähnlich...und es dann weiter ausgeführt werden kann