Menu
Coddy logo textTech

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 Ausnahme
  • new 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

challenge icon

Aufgabe

Einfach

Erstellen Sie eine Methode namens validateAge, die zwei Argumente annimmt:

  1. Eine ganze Zahl (age) zur Validierung
  2. 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 Ausnahme
  • new 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());
        }
    }
}
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