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
new Exception(string $message = "", int $code = 0, Throwable $previous = null);
Příklad
Vytvoříme a zpracujeme jednoduchou výjimku:
<?php
try {
throw new Exception('Něco se pokazilo', 100);
} catch (Exception $e) {
echo 'Chyba: ' . $e->getMessage();
}
?>
Výsledek provedení kódu:
'Chyba: Něco se pokazilo'
Příklad
Použijeme základní metody třídy Exception:
<?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):
'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
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):
[
[
'file' => '/path/to/file.php',
'line' => 5,
'function' => 'test',
'args' => []
]
]
Viz také
-
třídu
ErrorException,
která reprezentuje chyby jako výjimky -
funkci
set_exception_handler,
která nastavuje uživatelský handler výjimek