Príkaz throw
Príkaz throw sa používa na explicitné vyvolanie výnimky v PHP.
Akceptuje jeden parameter - objekt výnimky, ktorý musí byť inštanciou triedy,
zdedenej od základnej triedy Exception. Pri volaní tejto funkcie sa vykonávanie aktuálneho
kódu okamžite zastaví a PHP sa pokúsi nájsť zodpovedajúci blok catch na spracovanie výnimky.
Syntax
throw new ExceptionClass(message, code, previous);
Príklad
Jednoduchý príklad generovania výnimky:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('Vek nemôže byť záporný');
}
?>
Výsledok vykonania kódu:
Fatal error: Uncaught Exception: Vek nemôže byť záporný
Príklad
Príklad so spracovaním výnimky:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('Delenie nulou');
}
} catch (Exception $e) {
echo 'Chyba: ' . $e->getMessage();
}
?>
Výsledok vykonania kódu:
'Chyba: Delenie nulou'
Príklad
Použitie používateľskej výnimky:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Vlastná chybová správa');
} catch (MyCustomException $e) {
echo 'Zachytená vlastná chyba: ' . $e->getMessage();
}
?>
Výsledok vykonania kódu:
'Zachytená vlastná chyba: Vlastná chybová správa'