A throw parancs
A throw parancs a kivételek explicit dobására szolgál a PHP-ban.
Egy paramétert fogad - egy kivétel objektumot, amelynek az Exception alaposztályból
öröklődő osztály egy példányának kell lennie. A függvény meghívásakor az aktuális
kód végrehajtása azonnal leáll, és a PHP megpróbálja megtalálni a megfelelő catch
blokkot a kivétel kezelésére.
Szintaxis
throw new ExceptionClass(message, code, previous);
Példa
Egyszerű példa kivétel generálására:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('Age cannot be negative');
}
?>
A kód végrehajtásának eredménye:
Fatal error: Uncaught Exception: Age cannot be negative
Példa
Példa kivételkezeléssel:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('Division by zero');
}
} catch (Exception $e) {
echo 'Error: ' . $e->getMessage();
}
?>
A kód végrehajtásának eredménye:
'Error: Division by zero'
Példa
Egyéni kivétel használata:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Custom error message');
} catch (MyCustomException $e) {
echo 'Custom error caught: ' . $e->getMessage();
}
?>
A kód végrehajtásának eredménye:
'Custom error caught: Custom error message'