Der Befehl throw
Der Befehl throw wird verwendet, um explizit eine Exception in PHP auszulösen.
Er akzeptiert einen Parameter - ein Exception-Objekt, das eine Instanz einer Klasse sein muss,
die von der Basisklasse Exception abgeleitet ist. Beim Aufruf dieser Funktion wird die Ausführung des aktuellen
Codes sofort beendet und PHP versucht, einen entsprechenden catch-Block zur Behandlung der Exception zu finden.
Syntax
throw new ExceptionClass(message, code, previous);
Beispiel
Ein einfaches Beispiel für das Auslösen einer Exception:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('Alter kann nicht negativ sein');
}
?>
Ergebnis der Codeausführung:
Fatal error: Uncaught Exception: Alter kann nicht negativ sein
Beispiel
Beispiel mit Exception-Behandlung:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('Division durch Null');
}
} catch (Exception $e) {
echo 'Fehler: ' . $e->getMessage();
}
?>
Ergebnis der Codeausführung:
'Fehler: Division durch Null'
Beispiel
Verwendung einer benutzerdefinierten Exception:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Benutzerdefinierte Fehlermeldung');
} catch (MyCustomException $e) {
echo 'Benutzerdefinierter Fehler abgefangen: ' . $e->getMessage();
}
?>
Ergebnis der Codeausführung:
'Benutzerdefinierter Fehler abgefangen: Benutzerdefinierte Fehlermeldung'