Klasa Exception
Klasa Exception reprezentuje klasę bazową dla wszystkich wyjątków w PHP.
Zawiera podstawowe metody do pracy z wyjątkami: uzyskiwanie komunikatu o błędzie,
kodu błędu, pliku i linii gdzie wystąpił wyjątek, a także śladu stosu wywołań.
Podczas tworzenia wyjątku można przekazać komunikat, kod błędu i poprzedni wyjątek.
Składnia
new Exception(string $message = "", int $code = 0, Throwable $previous = null);
Przykład
Utwórzmy i obsłużmy prosty wyjątek:
<?php
try {
throw new Exception('Coś poszło nie tak', 100);
} catch (Exception $e) {
echo 'Błąd: ' . $e->getMessage();
}
?>
Wynik wykonania kodu:
'Błąd: Coś poszło nie tak'
Przykład
Użyjmy głównych metod klasy Exception:
<?php
try {
throw new Exception('Wyjątek testowy', 123);
} catch (Exception $e) {
echo 'Komunikat: ' . $e->getMessage() . "\n";
echo 'Kod: ' . $e->getCode() . "\n";
echo 'Plik: ' . $e->getFile() . "\n";
echo 'Linia: ' . $e->getLine() . "\n";
}
?>
Wynik wykonania kodu (przykład):
'Komunikat: Wyjątek testowy
Kod: 123
Plik: /path/to/file.php
Linia: 3'
Przykład
Pobierzmy ślad stosu wywołań przy wyjątku:
<?php
function test() {
throw new Exception('Test śladu stosu');
}
try {
test();
} catch (Exception $e) {
print_r($e->getTrace());
}
?>
Wynik wykonania kodu (przykład):
[
[
'file' => '/path/to/file.php',
'line' => 5,
'function' => 'test',
'args' => []
]
]
Zobacz też
-
klasę
ErrorException,
która reprezentuje błędy w postaci wyjątków -
funkcję
set_exception_handler,
która ustawia użytkownicką obsługę wyjątków