Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Der Finally-Block | Abschnitt
Practice
Projects
Quizzes & Challenges
Quizze
Challenges
/
Java Exception Handling

bookDer Finally-Block

Swipe um das Menü anzuzeigen

Note
Definition

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

Main.java

copy
12345678910111213141516171819202122
package 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.

question mark

Was ist bezüglich des Codes garantiert, der in einem finally-Block in Java platziert wird?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 6

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 1. Kapitel 6
some-alt