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

phpnew Exception(string $message = "", int $code = 0, Throwable $previous = null);

Przykład

Utwórzmy i obsłużmy prosty wyjątek:

php<?php
  try {
    throw new Exception('Coś poszło nie tak', 100);
  } catch (Exception $e) {
    echo 'Błąd: ' . $e->getMessage();
  }
?>

Wynik wykonania kodu:

php'Błąd: Coś poszło nie tak'

Przykład

Użyjmy głównych metod klasy Exception:

php<?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):

php'Komunikat: Wyjątek testowy
Kod: 123
Plik: /path/to/file.php
Linia: 3'

Przykład

Pobierzmy ślad stosu wywołań przy wyjątku:

php<?php
  function test() {
    throw new Exception('Test śladu stosu');
  }
  
  try {
    test();
  } catch (Exception $e) {
    print_r($e->getTrace());
  }
?>

Wynik wykonania kodu (przykład):

php[
  [
    'file' => '/path/to/file.php',
    'line' => 5,
    'function' => 'test',
    'args' => []
  ]
]

Zobacz też