OOP PHP5 - Fehlerbehandlung - Exceptions
1. Die Exception
-Klasse
...verfügt über die folgenden Eigenschaften und Methoden:
Eigenschaften
message
(string) Fehlermeldungcode
(int) Fehlercodefile
(string) Datei mit Fehlerline
(int) Zeilennummer des Fehlerstrace
(array) für eine Ablaufverfolgungstring
(string) Formatierter String der Ablaufverfolgung
Methoden
__construct ($message = null, $code = 0)
Konstruktor-MethodegetCode()
liefert den FehlercodegetFile()
liefert die Datei mit dem FehlergetLine()
liefert die ZeilennummergetMessage()
liefert die FehlermeldunggetTrace()
liefert ein Array der AblaufverfolgunggetTraceAsString()
liefert einen formatierten String der Ablaufverfolgung
Da diese Klasse direkt in PHP implementiert ist, kann man sie nicht selber in den eigenen Code einbauen. Wäre eh ziemlich Tinnef.
2. Benutzung
Man kann nun diese Klasse direkt über extends
in andere "einbauen". Also so was wie class Mensch extends
Exception
. Dann besteht noch die Möglichkeit, zwischen verschiedenen Ausnahmen zu unterscheiden. Es gibt dann zum Beispiel
die echt brutalen Böcke, die man schießen kann, oder harmlose Unfälle, die nicht ganz so schlimm sind.
3. Ein Beispiel
Dieter hat denn nun ein Taxi bestellt, um mit seiner Dörte in ein Restaurant zu fahren. Nehmen wir jetzt mal zwei Fälle an, die den weiteren Verlauf des Abends beeinflussen können, einen schwerwiegenden und einen nicht so schlimmen.
Der schwerwiegende Fall
Der Taxifahrer fährt wie eine gesengte Sau und baut einen so schweren Unfall, dass unsere beiden Turteltauben schwer verletzt im Krankenhaus landen. In diesem Fall wollen wir eine passende Ausnahmebehandlung definieren
class unfallexception extends Exception {}
Der nicht so schlimme Fall
Beim Essen geht einiges schief. Der Fresstempel ist eine Katastrophe. Oder Dieter kippt vor lauter Aufregung Rotwein auf das neue und sündhafte teure Kleid von Dörte.
class essenexception extends Exception {}
Und wie man jetzt mit diesen Exceptions arbeitet, erfahrt ihr nun.