Třída Exception

Třída Exception představuje základní třídu pro všechny výjimky v PHP. Obsahuje základní metody pro práci s výjimkami: získání chybové zprávy, kódu chyby, souboru a řádku, kde došlo k výjimce, a také zásobníku volání. Při vytváření výjimky lze předat zprávu, kód chyby a předchozí výjimku.

Syntaxe

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

Příklad

Vytvoříme a zpracujeme jednoduchou výjimku:

php<?php
  try {
    throw new Exception('Něco se pokazilo', 100);
  } catch (Exception $e) {
    echo 'Chyba: ' . $e->getMessage();
  }
?>

Výsledek provedení kódu:

php'Chyba: Něco se pokazilo'

Příklad

Použijeme základní metody třídy Exception:

php<?php
  try {
    throw new Exception('Testovací výjimka', 123);
  } catch (Exception $e) {
    echo 'Zpráva: ' . $e->getMessage() . "\n";
    echo 'Kód: ' . $e->getCode() . "\n";
    echo 'Soubor: ' . $e->getFile() . "\n";
    echo 'Řádek: ' . $e->getLine() . "\n";
  }
?>

Výsledek provedení kódu (příklad):

php'Zpráva: Testovací výjimka
Kód: 123
Soubor: /path/to/file.php
Řádek: 3'

Příklad

Získáme zásobník volání při výjimce:

php<?php
  function test() {
    throw new Exception('Test zásobníku volání');
  }
  
  try {
    test();
  } catch (Exception $e) {
    print_r($e->getTrace());
  }
?>

Výsledek provedení kódu (příklad):

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

Viz také