Der Finally-Block
Swipe um das Menü anzuzeigen
Der finally-Block in Java ist ein wesentlicher Bestandteil der Ausnahmebehandlung und stellt sicher, dass bestimmter Code immer ausgeführt wird, unabhängig davon, was in den try- oder catch-Blöcken geschieht.
Der finally-Block wird typischerweise für Aufgaben wie die Bereinigung von Ressourcen verwendet – zum Beispiel das Schließen von Dateien, das Freigeben von Netzwerkverbindungen oder das Freimachen von Speicher –, damit die Anwendung auch bei Fehlern stabil und effizient bleibt.
try {
// code
} catch {
// code
} finally {
// code
}
Die Ausführung des finally-Blocks ist besonders, da er jedes Mal ausgeführt wird, wenn die zugehörige try-Anweisung abgeschlossen wird, unabhängig davon, ob eine Ausnahme ausgelöst wurde oder nicht. Tritt im try-Block eine Ausnahme auf und wird diese von einem catch-Block abgefangen, wird der finally-Block nach Abschluss des catch-Blocks ausgeführt. Wird keine Ausnahme ausgelöst, wird der finally-Block dennoch nach dem try-Block ausgeführt. Selbst wenn sich im Code des try- oder catch-Blocks eine return-Anweisung befindet, wird der finally-Block ausgeführt, bevor die Methode die Kontrolle an den Aufrufer zurückgibt. Dieses Verhalten macht den finally-Block zu einem zuverlässigen Ort für Aktionen, die immer ausgeführt werden müssen, wie zum Beispiel das Schließen von Dateien oder das Freigeben anderer Ressourcen.
Main.java
12345678910111213141516171819202122package com.example; public class Main { public static void main(String[] args) { String[] numbers = {"10", "20", "not-a-number", "40"}; int index = 2; int result = 0; try { System.out.println("Attempting to parse value..."); result = Integer.parseInt(numbers[index]); System.out.println("Parsed value: " + result); } catch (NumberFormatException e) { System.out.println("Parsing failed: " + e.getMessage()); } finally { // This block always executes System.out.println("The 'finally' block has executed — cleanup or final steps go here."); } System.out.println("Program continues..."); } }
Der finally-Block in Java ist ein spezieller Block, der immer nach einem try-Block ausgeführt wird, unabhängig davon, ob eine Ausnahme ausgelöst oder abgefangen wurde. Er wird verwendet, um sicherzustellen, dass wichtige abschließende Aktionen, wie das Schließen von Ressourcen oder das Durchführen von Aufräumarbeiten, stets ausgeführt werden.
Im obigen Beispiel versucht das Programm, einen Wert aus einem Array zu parsen. Selbst wenn das Parsen fehlschlägt und der catch-Block ausgeführt wird, läuft der finally-Block dennoch ab und garantiert, dass die abschließende Nachricht ausgegeben wird und notwendige Aufräumarbeiten erfolgen. Dies erhöht die Zuverlässigkeit des Programms und verhindert Ressourcenlecks.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen