Příkaz throw
Příkaz throw se používá k explicitnímu vyvolání výjimky v PHP.
Přijímá jeden parametr - objekt výjimky, který musí být instancí třídy,
dědičné od základní třídy Exception. Při volání této funkce je provádění aktuálního
kódu okamžitě ukončeno a PHP se pokusí najít odpovídající blok catch pro zpracování výjimky.
Syntaxe
throw new ExceptionClass(message, code, previous);
Příklad
Jednoduchý příklad generování výjimky:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('Věk nemůže být záporný');
}
?>
Výsledek provedení kódu:
Fatal error: Uncaught Exception: Věk nemůže být záporný
Příklad
Příklad se zpracováním výjimky:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('Dělení nulou');
}
} catch (Exception $e) {
echo 'Chyba: ' . $e->getMessage();
}
?>
Výsledek provedení kódu:
'Chyba: Dělení nulou'
Příklad
Použití uživatelské výjimky:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Vlastní chybová zpráva');
} catch (MyCustomException $e) {
echo 'Zachycena vlastní chyba: ' . $e->getMessage();
}
?>
Výsledek provedení kódu:
'Zachycena vlastní chyba: Vlastní chybová zpráva'