Ausnahmen werfen
Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy — Lektion 42 von 59.
Das throw-Schlüsselwort in Java ermöglicht es Ihnen, eine Ausnahme explizit zu werfen. Hier ist die grundlegende Struktur:
throw new ExceptionType("Error message");Die Komponenten sind:
throw: Schlüsselwort zum Werfen einer Ausnahmenew ExceptionType: Erstellt eine neue Ausnahme (wie IllegalArgumentException)"Error message": Beschreibt, was schiefgelaufen ist
Sehen wir es in Aktion:
int age = -5;
if (age < 0) {
throw new IllegalArgumentException("Age cannot be negative");
}Nach der Ausführung des obigen Codes wirft das Programm:
IllegalArgumentException: Age cannot be negative
Aufgabe
EinfachErstellen Sie eine Methode namens validateAge, die zwei Argumente annimmt:
- Eine ganze Zahl (
age) zur Validierung - Einen booleschen Wert (
strict), der die Validierungsregeln bestimmt
Die Methode sollte Ausnahmen basierend auf diesen Regeln werfen:
- Wenn age negativ ist: werfen Sie IllegalArgumentException mit der Nachricht "Age cannot be negative"
- Wenn age über 150 liegt: werfen Sie IllegalArgumentException mit der Nachricht "Age cannot be greater than 150"
- Wenn strict true ist und age 0 ist: werfen Sie IllegalArgumentException mit der Nachricht "Age cannot be zero in strict mode"
- Wenn keine Ausnahme geworfen wird: geben Sie age als String zurück
Spickzettel
Das throw-Schlüsselwort ermöglicht es Ihnen, eine Ausnahme explizit zu werfen:
throw new ExceptionType("Error message");Komponenten:
throw: Schlüsselwort zum Werfen einer Ausnahmenew ExceptionType: Erstellt eine neue Ausnahme (wie IllegalArgumentException)"Error message": Beschreibt, was schiefgelaufen ist
Beispiel:
int age = -5;
if (age < 0) {
throw new IllegalArgumentException("Age cannot be negative");
}Probier es selbst
import java.util.Scanner;
public class Main {
public static String validateAge(int age, boolean strict) {
// Schreibe deinen Code hier
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int age = Integer.parseInt(scanner.nextLine());
boolean strict = Boolean.parseBoolean(scanner.nextLine());
try {
System.out.println(validateAge(age, strict));
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen der 2D-ArraysZugriff auf 2D-Array-ElementeVerschachtelte Schleifen mit 2D-ArraysZusammenfassung - 2D-ArraysMatrixaddition & SubtraktionJagged Arrays3D-Arrays und darüber hinausGängige 2D-Array-MusterZusammenfassung - Alles über Arrays2HashMap Teil 1
Was ist eine HashMap?Eine HashMap deklarierenWerte abrufenPrüfen, ob ein Schlüssel existiertWörterbücher modifizierenZusammenfassung - HashMap3HashMap Teil 2
HashMap-MethodenMit keySet() iterierenMit entrySet() iterierenVerschachtelte HashMapZusammenfassung - Lager verwaltenZusammenfassung - HashMap-Operationen6Erweiterter Steuerungsfluss
Beschriftete AnweisungenSwitch-AusdruckMusterabgleichSchutzklauselnZusammenfassung - Steuerungsfluss9Projekt - Einzigartiger Wortzähler
Texteingabe und SpeicherungWortverarbeitung