De throw-opdracht
De opdracht throw wordt gebruikt om expliciet een uitzondering op te werpen in PHP.
Het accepteert één parameter - een uitzonderingsobject, dat een instantie moet zijn van een klasse,
die overerft van de basisklasse Exception. Bij het aanroepen van deze functie wordt de uitvoering van de huidige
code onmiddellijk gestopt, en PHP probeert om het bijbehorende catch-blok te vinden om de uitzondering af te handelen.
Syntaxis
throw new ExceptionClass(message, code, previous);
Voorbeeld
Een eenvoudig voorbeeld van het genereren van een uitzondering:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('Leeftijd kan niet negatief zijn');
}
?>
Resultaat van het uitvoeren van de code:
Fatal error: Uncaught Exception: Leeftijd kan niet negatief zijn
Voorbeeld
Voorbeeld met afhandeling van een uitzondering:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('Deling door nul');
}
} catch (Exception $e) {
echo 'Fout: ' . $e->getMessage();
}
?>
Resultaat van het uitvoeren van de code:
'Fout: Deling door nul'
Voorbeeld
Gebruik van een aangepaste uitzondering:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Aangepast foutbericht');
} catch (MyCustomException $e) {
echo 'Aangepaste fout opgevangen: ' . $e->getMessage();
}
?>
Resultaat van het uitvoeren van de code:
'Aangepaste fout opgevangen: Aangepast foutbericht'