Menu
Coddy logo textTech

Finally-Block

Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy — Lektion 41 von 59.

Der finally-Block enthält Code, der nach den try-catch-Blöcken ausgeführt wird, unabhängig davon, ob eine Ausnahme auftritt oder nicht. Er wird häufig für Aufräumoperationen verwendet, wie das Schließen von Dateien oder Datenbankverbindungen.

Hier ist die grundlegende Struktur eines try-catch-finally-Blocks:

try {
   // Code that might throw an exception
} catch (ExceptionType e) {
   // Code to handle the exception
} finally {
   // Code that always executes
}

Sehen wir uns ein Beispiel mit einem Zähler an:

int counter = 0;
try {
   int result = 10 / 0;
   // Dies wird eine Ausnahme werfen
   counter = 1;
} catch (ArithmeticException e) {
   counter = 2;
} finally {
   counter = 3;
   // Dies wird immer ausgeführt
}

Nach der Ausführung des obigen Codes enthält counter:

3

challenge icon

Aufgabe

Einfach

Erstellen Sie eine Methode mit dem Namen processNumber, die zwei Argumente annimmt:

  1. Ein String (number) zur Konvertierung in eine Ganzzahl
  2. Ein boolean (shouldThrow), das bestimmt, ob eine Ausnahme geworfen werden soll

Die Methode sollte:

  1. Eine result-Variable auf 0 initialisieren
  2. Im try-Block:
    • Wenn shouldThrow true ist, 10 durch 0 teilen
    • Andernfalls den number-String in eine Ganzzahl konvertieren und in result speichern
  3. Im catch-Block: result auf -1 setzen
  4. Im finally-Block: 100 zu result addieren
  5. result als String zurückgeben

Spickzettel

Der finally-Block wird nach try-catch-Blöcken ausgeführt, unabhängig davon, ob eine Ausnahme auftritt. Er wird für Aufräumoperationen verwendet.

Grundstruktur:

try {
   // Code that might throw an exception
} catch (ExceptionType e) {
   // Code to handle the exception
} finally {
   // Code that always executes
}

Beispiel mit Zähler:

int counter = 0;
try {
   int result = 10 / 0; // throws exception
   counter = 1;
} catch (ArithmeticException e) {
   counter = 2;
} finally {
   counter = 3; // always executes
}
// counter = 3

Probier es selbst

import java.util.Scanner;

public class Main {
    public static String processNumber(String number, boolean shouldThrow) {
        // Schreibe deinen Code hier
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String number = scanner.nextLine();
        boolean shouldThrow = Boolean.parseBoolean(scanner.nextLine());
        
        System.out.println(processNumber(number, shouldThrow));
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf