Menu
Coddy logo textTech

Rzucanie wyjątków

Część sekcji Logika i przepływ sterowania ścieżki Java w Coddy. Lekcja 42 z 59.

Słowo kluczowe throw w języku Java pozwala jawnie zgłosić wyjątek. Oto podstawowa struktura:

throw new ExceptionType("Error message");

Składniki to:

  • throw: Słowo kluczowe służące do zgłaszania wyjątku
  • new ExceptionType: Tworzy nowy wyjątek (taki jak IllegalArgumentException)
  • "Error message": Opisuje, co poszło nie tak

Zobaczmy, jak to działa:

int age = -5;
if (age < 0) {
    throw new IllegalArgumentException("Age cannot be negative");
}

Po wykonaniu powyższego kodu program zgłasza:

IllegalArgumentException: Age cannot be negative

challenge icon

Wyzwanie

Łatwy

Utwórz metodę o nazwie validateAge, która przyjmuje dwa argumenty:

  1. Liczbę całkowitą (age) do sprawdzenia
  2. Wartość logiczną (strict), która określa reguły sprawdzania

Metoda powinna zgłaszać wyjątki zgodnie z poniższymi regułami:

  • Jeśli age jest ujemne: zgłoś IllegalArgumentException z komunikatem "Age cannot be negative"
  • Jeśli age jest większe niż 150: zgłoś IllegalArgumentException z komunikatem "Age cannot be greater than 150"
  • Jeśli strict ma wartość true, a age wynosi 0: zgłoś IllegalArgumentException z komunikatem "Age cannot be zero in strict mode"
  • Jeśli nie zostanie zgłoszony żaden wyjątek: zwróć age jako ciąg znaków

Spróbuj swoich sił

import java.util.Scanner;

public class Main {
    public static String validateAge(int age, boolean strict) {
        // Napisz tutaj swój kod
    }
    
    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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ sterowania

Poćwicz samodzielnie: Kompilator Java online