Bei diesem Code kann ich sicher sein, dass der finally
-Block immer ausgeführt wird, egal was something()
ist?
try {
something();
return success;
}
catch (Exception e) {
return failure;
}
finally {
System.out.println("Ich weiß nicht, ob das ausgegeben wird");
}
672 Stimmen
Wenn dies nicht der Fall ist, sollte das Schlüsselwort wie folgt lauten
probably
stattdessen.61 Stimmen
Nicht siempre
3 Stimmen
Effektives Java sagt etwas anderes informit.com/articles/article.aspx?p=1216151&seqNum=7
38 Stimmen
@BinoyBabu, Abschlussbericht !=
finally
; Abschlussbericht \== diefinalize()
Methode.5 Stimmen
@Boann Richtig, "nicht immer" in der Tat. Aber dann können Sie nie und nimmer die Worte "garantiert" oder "immer" verwenden.
2 Stimmen
@Boann Ich würde es so formulieren: Der Ausführungsfluss geht immer durch finally, bevor er die try-finally-Struktur verlässt. Wenn er darin stirbt, ist das für mich in Ordnung, denn der Hauptzweck von finally ist es, sicherzustellen, dass die Dinge für andere Teile des Codes nicht durcheinander gebracht werden.
0 Stimmen
Sieht aus, als hättest du da einen ganz schönen Fisch gefangen!
0 Stimmen
Wenn die
finally
Block einen Wert zurückgibt, dann kann der try/catch-Block nicht zurückkehren.0 Stimmen
@NoonSilk Das war saukomisch!