Rzucanie wyjątku (throw new Exception)
Założenie: Nauczymy się, jak utworzyć i rzucić obiekt wyjątku w PHP za pomocą instrukcji throw new Exception()
. Pokażemy, jak obsłużyć potencjalne błędy w kodzie.
Krok po kroku:
- Tworzenie prostego wyjątku:
- Rzuć własny wyjątek:
- Różne typy wyjątków:
try {
// Kod, który może wygenerować błąd
$dzielnik = 0;
$wynik = 10 / $dzielnik;
} catch (DivisionByZeroError $e) {
// Obsługa błędu dzielenia przez zero
echo "Wystąpił błąd: " . $e->getMessage();
} catch (Exception $e) {
// Obsługa innych wyjątków
echo "Wystąpił nieoczekiwany błąd: " . $e->getMessage();
}
Ten kod próbuje podzielić 10 przez 0, co generuje błąd DivisionByZeroError
. Blok try...catch
przechwytuje ten błąd i wyświetla komunikat.
function sprawdzWiek($wiek) {
if ($wiek < 18) {
throw new Exception("Osoba jest niepełnoletnia!");
}
echo "Osoba jest pełnoletnia.";
}
try {
sprawdzWiek(15);
} catch (Exception $e) {
echo "Błąd: " . $e->getMessage();
}
Funkcja sprawdzWiek()
rzuca wyjątek Exception
, jeśli wiek jest mniejszy niż 18. Blok try...catch
przechwytuje ten wyjątek i wyświetla komunikat o błędzie.
try {
// ... jakiś kod ...
throw new InvalidArgumentException("Nieprawidłowy argument!");
// ... jakiś kod ...
} catch (InvalidArgumentException $e) {
echo "Błąd: " . $e->getMessage();
}
Możesz używać różnych typów wyjątków, np. InvalidArgumentException
, aby lepiej określić rodzaj błędu.
Ten przykład pokazuje podstawy rzucania wyjątków w PHP. Zachęcamy do dalszego zgłębiania tematu obsługi wyjątków, aby pisać bardziej solidny i odporny na błędy kod.