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ątkunew 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
Wyzwanie
ŁatwyUtwórz metodę o nazwie validateAge, która przyjmuje dwa argumenty:
- Liczbę całkowitą (
age) do sprawdzenia - 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());
}
}
}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
1Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DPętle zagnieżdżone z tablicami 2DPodsumowanie — tablice 2DDodawanie i odejmowanie macierzyTablice postrzępioneTablice 3D i większeTypowe wzorce dla tablic 2DPodsumowanie — wszystko o tablicach2HashMap część 1
Czym jest HashMap?Deklarowanie HashMapDostęp do wartościSprawdzanie, czy klucz istniejeModyfikowanie słownikówPodsumowanie — HashMap3HashMap — część 2
Metody HashMapIterowanie za pomocą keySet()Iterowanie za pomocą entrySet()Zagnieżdżona HashMapPowtórka — zarządzanie magazynemPowtórka — operacje na HashMap6Zaawansowany przepływ sterowania
Instrukcje etykietująceWyrażenie switchDopasowywanie wzorcówKlauzule ochronnePowtórzenie — przepływ sterowania9Projekt — licznik unikalnych słów
Wprowadzanie i przechowywanie tekstuPrzetwarzanie słówPoćwicz samodzielnie: Kompilator Java online