Kommandoen throw
Kommandoen throw brukes til å eksplisitt kaste et unntak i PHP.
Den tar én parameter - et unntaksobjekt, som må være en forekomst av en klasse
arvet fra basisklassen Exception. Når denne funksjonen kalles, stoppes utførelsen av
gjeldende kode umiddelbart, og PHP prøver å finne en tilsvarende catch-blokk for å håndtere unntaket.
Syntaks
throw new ExceptionClass(message, code, previous);
Eksempel
Et enkelt eksempel på generering av et unntak:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('Age cannot be negative');
}
?>
Resultat av kjøring av koden:
Fatal error: Uncaught Exception: Age cannot be negative
Eksempel
Eksempel med håndtering av unntak:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('Division by zero');
}
} catch (Exception $e) {
echo 'Error: ' . $e->getMessage();
}
?>
Resultat av kjøring av koden:
'Error: Division by zero'
Eksempel
Bruk av et egendefinert unntak:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Custom error message');
} catch (MyCustomException $e) {
echo 'Custom error caught: ' . $e->getMessage();
}
?>
Resultat av kjøring av koden:
'Custom error caught: Custom error message'