Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Try-Catch-Struktur | Ausnahmen
Java JUnit Bibliothek. Arten von Tests
course content

Kursinhalt

Java JUnit Bibliothek. Arten von Tests

Java JUnit Bibliothek. Arten von Tests

1. Testen in der Entwicklung
2. Unit Tests
3. Ausnahmen

book
Try-Catch-Struktur

Wie man Ausnahmen behandelt

Aus dem vorherigen Kapitel haben Sie möglicherweise verstanden, dass Ausnahmen die Ausführung des Programms vollständig stoppen. Ein solches Ergebnis ist für uns nicht wünschenswert, da wir möchten, dass das Programm weiterläuft, ohne abzustürzen.

Einfach Ausnahmen zu entfernen ist keine Option, da in diesem Fall das Programm falsch funktionieren würde. Daher müssen wir lernen, wie man Fehler mit der try-catch-Struktur behandelt.

Werfen wir einen Blick auf die Syntax einer solchen Struktur und verstehen, wie sie Fehler erfasst:

  • try Block: Dieser Block enthält den Code, der möglicherweise eine Ausnahme erzeugt. Während der Ausführung, wenn eine Anweisung innerhalb des try-Blocks eine Ausnahme auslöst, wird der Rest des Codes im Block übersprungen, und die Kontrolle wechselt zum entsprechenden catch Block(s), um diese Ausnahme zu behandeln;

  • catch Block: Dieser Block wird verwendet, um die Ausnahme zu behandeln. Er muss dem try-Block folgen. Wenn der Typ der ausgelösten Ausnahme dem im catch-Block deklarierten Typ entspricht, wird der Code innerhalb dieses Blocks ausgeführt. Es kann mehrere Catch-Blöcke geben, die mit einem einzigen try-Block verbunden sind, wobei jeder verschiedene Arten von Ausnahmen auffängt und behandelt.

Einfacher ausgedrückt, wir versuchen, den Code auszuführen, und bereiten uns darauf vor, eine Ausnahme aufzufangen. Wenn wir eine Ausnahme auffangen, stoppt die Codeausführung nicht, sondern wird mit der im catch-Block angegebenen Operation fortgesetzt. Wenn keine Ausnahme auftritt, wird die Operation erfolgreich ausgeführt, ohne den catch-Block zu betreten.

Umgang mit ArithmeticException

Im vorherigen Kapitel haben wir eine Divisionsmethode implementiert, die eine arithmetische Ausnahme auslöst, falls eine Division durch Null erfolgt. So sieht diese Methode aus:

Nun, lassen Sie uns diese Ausnahme behandeln, indem wir die Methode mit einer try-catch-Struktur aufrufen:

java

main

copy
1234567891011121314151617181920
package com.example; public class Main { public static double divide(int numerator, int denominator) throws ArithmeticException { if (denominator == 0) { throw new ArithmeticException("Division by zero is not allowed."); } return (double) numerator / denominator; } public static void main(String[] args) { try { double result = divide(10, 0); System.out.println(result); } catch (ArithmeticException e) { System.out.println("You can't divide by zero!"); } System.out.println("The program is continues its execution"); } }

Wie Sie sehen, versuchen wir, eine Division durch Null durchzuführen, aber wir tun dies innerhalb des try-Blocks. Im catch-Block fangen wir die ArithmeticException und geben ihr den Alias "e", damit wir dieses Objekt in Zukunft verwenden können (denken Sie daran, Ausnahmen sind Objekte, richtig?).

Auf diese Weise stoppt die Ausnahme nicht die Ausführung des Programms, da wir sie behandelt haben. Jetzt, im Falle einer ausgelösten Ausnahme, benachrichtigt das Programm den Benutzer mit Konsolenausgabe und setzt seine Ausführung fort.

1. Was ist der Zweck des try-Blocks in einer try-catch-Struktur?

2. Was passiert, wenn eine Ausnahme innerhalb eines try-Blocks ausgelöst wird?

3. Was macht der catch-Block in einer try-catch-Struktur?

4. Was ist das Ergebnis der Behandlung einer Ausnahme mit einer try-catch-Struktur?

Was ist der Zweck des `try`-Blocks in einer try-catch-Struktur?

Was ist der Zweck des try-Blocks in einer try-catch-Struktur?

Wählen Sie die richtige Antwort aus

Was passiert, wenn eine Ausnahme innerhalb eines `try`-Blocks ausgelöst wird?

Was passiert, wenn eine Ausnahme innerhalb eines try-Blocks ausgelöst wird?

Wählen Sie die richtige Antwort aus

Was macht der `catch`-Block in einer try-catch-Struktur?

Was macht der catch-Block in einer try-catch-Struktur?

Wählen Sie die richtige Antwort aus

Was ist das Ergebnis der Behandlung einer Ausnahme mit einer `try-catch`-Struktur?

Was ist das Ergebnis der Behandlung einer Ausnahme mit einer try-catch-Struktur?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 2
We're sorry to hear that something went wrong. What happened?
some-alt