| Manual PHP Documentation |
Php 5 hat eine Ausnahmebehandlung ähnlich der anderer Programmiersprachen. Eine Ausnahme kann in PHP geworfen, abgeprüft und abgefangen werfen. Ein Try Block muss mindestens einen Catch Block beinhalten. Mehrere Catchblöcke können verwendet werden, um verschiedene Klassentypen zu fangen; der Programmfluß wird hinter dem letzten in der Reihe definierten Catchblock fortgesetzt. Ausnahmen können innerhalb von Catchblöcken geworen werden.
Wenn eine Ausnahme geworfen wird, wird der Programmcode hinter der Anweisung nicht ausgeführt und PHP versucht den ersten passenden Catchblock zu finden. Falls eine Ausnahme nicht abgefangen wird, wird ein fataler Fehler mit einer "Uncaught Exception"-Nachricht ausgegeben, wenn nicht eine Behandlung mittels set_exception_handler() definiert wurde.
Eine benutzerdefinierte Ausnahmeklasse kann definiert werden, indem man die eingebaute Ausnahmeklasse ableitet. Die unten angegebenen Member und Eigenschaften zeigen, was innerhalb der von der eingebauten Klasse Exception abgeleiteten Klasse verfügbar ist.
Beispiel 20-2. Die eingebaute Ausnahmeklasse
|
Wenn eine Klasse die eingebaute Klasse Exception erweitert und den Konstructor neu definiert, wird es dringend empfohlen, dass dieser parent::__construct() aufruft, um sicherzustellen, dass alle verfügbaren Daten korrekt zugewiesen wurden. Die magische Methode __toString() kann überschrieben werden, um eine maßgeschneiderte Ausgabe anzubieten, wenn das Objekt durch eine Zeichenkette repräsentiert werden soll.
Beispiel 20-3. Die Ausnahmeklasse erweitern
|
| Zurück | Zum Anfang | Weiter |
| Type Hinting | Nach oben | Referenzen in PHP |