Komenda throw
Komenda throw służy do jawnego zgłoszenia wyjątku w PHP.
Przyjmuje jeden parametr - obiekt wyjątku, który musi być instancją klasy,
odziedziczonej po bazowej klasie Exception. Po wywołaniu tej funkcji wykonanie bieżącego
kodu natychmiast zostaje przerwane, a PHP próbuje znaleźć odpowiedni blok catch do obsługi wyjątku.
Składnia
throw new ExceptionClass(message, code, previous);
Przykład
Prosty przykład generowania wyjątku:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('Wiek nie może być ujemny');
}
?>
Wynik wykonania kodu:
Fatal error: Uncaught Exception: Wiek nie może być ujemny
Przykład
Przykład z obsługą wyjątku:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('Dzielenie przez zero');
}
} catch (Exception $e) {
echo 'Błąd: ' . $e->getMessage();
}
?>
Wynik wykonania kodu:
'Błąd: Dzielenie przez zero'
Przykład
Użycie niestandardowego wyjątku:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Niestandardowy komunikat błędu');
} catch (MyCustomException $e) {
echo 'Przechwycono niestandardowy błąd: ' . $e->getMessage();
}
?>
Wynik wykonania kodu:
'Przechwycono niestandardowy błąd: Niestandardowy komunikat błędu'