Komento throw
Komento throw käytetään poikkeusten nimeenomaiseen heittämiseen PHP:ssä.
Se ottaa yhden parametrin - poikkeusolion, jonka on oltava peritty Exception-perusluokasta.
Kun tätä komentoa kutsutaan, nykyisen koodin suoritus keskeytyy välittömästi, ja PHP yrittää löytää vastaavan catch-lohkon poikkeuksen käsittelemiseksi.
Syntaksi
throw new ExceptionClass(message, code, previous);
Esimerkki
Yksinkertainen esimerkki poikkeuksen heittämisestä:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('Ikä ei voi olla negatiivinen');
}
?>
Koodin suorituksen tulos:
Fatal error: Uncaught Exception: Ikä ei voi olla negatiivinen
Esimerkki
Esimerkki poikkeuksen käsittelystä:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('Jako nollalla');
}
} catch (Exception $e) {
echo 'Virhe: ' . $e->getMessage();
}
?>
Koodin suorituksen tulos:
'Virhe: Jako nollalla'
Esimerkki
Mukautetun poikkeuksen käyttö:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Mukautettu virheviesti');
} catch (MyCustomException $e) {
echo 'Mukautettu virhe saatu kiinni: ' . $e->getMessage();
}
?>
Koodin suorituksen tulos:
'Mukautettu virhe saatu kiinni: Mukautettu virheviesti'