Kommandoen throw
Kommandoen throw bruges til eksplicit at kaste en undtagelse i PHP.
Den tager en parameter - en undtagelsesobjekt, som skal være en instans af en klasse,
arvet fra basisklassen Exception. Når denne funktion kaldes, stopper udførelsen af den aktuelle
kode omgående, og PHP forsøger at finde den tilsvarende catch-blok for at håndtere undtagelsen.
Syntaks
throw new ExceptionClass(message, code, previous);
Eksempel
Et simpelt eksempel på generering af en undtagelse:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('Alder kan ikke være negativ');
}
?>
Resultat af kodeudførelse:
Fatal error: Uncaught Exception: Alder kan ikke være negativ
Eksempel
Eksempel med håndtering af undtagelse:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('Division med nul');
}
} catch (Exception $e) {
echo 'Fejl: ' . $e->getMessage();
}
?>
Resultat af kodeudførelse:
'Fejl: Division med nul'
Eksempel
Brug af brugerdefineret undtagelse:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Brugerdefineret fejlmeddelelse');
} catch (MyCustomException $e) {
echo 'Brugerdefineret fejl fanget: ' . $e->getMessage();
}
?>
Resultat af kodeudførelse:
'Brugerdefineret fejl fanget: Brugerdefineret fejlmeddelelse'