Kursinhalt
Java JUnit Bibliothek. Arten von Tests
Java JUnit Bibliothek. Arten von Tests
Ausnahmen Werfen
Lassen Sie uns tiefer in Ausnahmen eintauchen. Sie sind bereits auf Ausnahmen gestoßen, aber wir haben sie nicht im Detail untersucht. Jetzt werden wir sie ausführlicher besprechen und lernen, wie wir sie selbst erstellen und handhaben können.
Warum lernen wir in einem Testkurs über Ausnahmen?
Tests werden durchgeführt, um den Code besser und professioneller zu machen. Daher müssen Sie auch wissen, wie man Ausnahmen wirft, fängt und erstellt und anschließend wie man Methoden mit Ausnahmen korrekt testet.
Beginnen wir mit der Definition:
Nun, lassen Sie es uns in einfachen Worten ausdrücken. Angenommen, Sie schreiben eine Methode zum Teilen zweier Zahlen. In der Mathematik wissen wir, dass man nicht durch null teilen kann. Falls ein Benutzer unseres Codes versucht, durch null zu teilen, müssen wir ihm sagen, dass es nicht möglich ist, und das tun wir mithilfe einer Ausnahme. Zum Beispiel sieht unsere Methode so aus:
In dieser Klasse können wir sehen, wo wir eine Ausnahme werfen müssen. Nachdem eine Ausnahme geworfen wurde, wird die Programmausführung gestoppt, und der Benutzer sieht eine Konsolennachricht, die besagt, dass eine Division durch 0 nicht erlaubt ist.
Sie können eine Ausnahme mit dem Schlüsselwort throw
werfen. Da eine Ausnahme ein Objekt ist, müssen wir ein neues Ausnahmeobjekt mit einem Konstruktor erstellen. Im Code sieht es so aus:
Wie Sie sehen können, werfen wir ein neues RuntimeException
-Objekt, das die Programmausführung stoppt, wenn wir versuchen, durch null zu teilen. In den Parametern haben wir Text bereitgestellt, der auf dem Bildschirm angezeigt wird, wenn eine Ausnahme geworfen wird. Allerdings ist RuntimeException
nicht die geeignetste Ausnahme für diesen Fall. Hier sehen wir einen Fehler im Zusammenhang mit arithmetischen Operationen, daher sollten wir eine Ausnahme verwenden, die durch ihren Namen anzeigt, dass der Fehler mit arithmetischen Operationen zusammenhängt:
ArithmeticException
zeigt deutlich durch seinen Namen, dass der Fehler mit arithmetischen Operationen zusammenhängt. Auf diese Weise können Sie Ausnahmen werfen in Ihren Prüfungen oder Codeblöcken. Es ist eine gute Praxis, throws ExceptionName
in einer Methode anzugeben, die eine Ausnahme wirft. Auf diese Weise sehen Sie, dass diese Methode eine spezifische Ausnahme werfen wird.
Schauen wir uns die gesamte Klasse an, in der wir versuchen, eine Ausnahme zu werfen:
Main
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) { double result = divide(10, 0); System.out.println(result); } }
Wie Sie sehen können, wird beim Ausführen und Durchführen einer Division durch Null ein Fehler mit einer beschreibenden Nachricht darüber, was schiefgelaufen ist, ausgelöst. Später im Kurs werden Sie lernen, wie man solche Ausnahmen abfängt und behandelt, eigene benutzerdefinierte Ausnahmen erstellt und dann Methoden mit ihnen testet.
1. Was ist der Zweck einer Ausnahme in Java?
2. Wie kann man eine Ausnahme in einer Java-Methode auslösen?
3. Welche Ausnahme sollte bei einem arithmetischen Fehler wie der Division durch Null ausgelöst werden?
Danke für Ihr Feedback!