OOP PHP5 - Fehlerbehandlung
1. Das Tutorial
Ich hoffe, dass ihr euch alle schon mein Tutorial zum Thema "Fehlersuche" zu Gemüte geführt habt. Denn wenn ihr nicht mit den elementaren Prinzipien vertraut seid, bringt das hier gar nichts.
2. Fehler
Wie ihr alle nun schon wisst, gibt es einfach gesagt, vier Formen von Fehlern, die vom PHP-Interpreter bei den entsprechenden Error-Leveln ausgegeben werden. Zur Erinnerung noch mal kurz die Liste:
- Fatal error
- Parse error
- Warning
- Notice
Error-Reporting
Um nun vernünftig objektorientiert zu programmieren, reicht ein E_ALL
nicht mehr aus. Um Unsauberkeiten im Code
zu erkennen, sollte man sich tunlichst für diese Variante entscheiden: error_reporting (E_ALL | E_STRICT)
. Da
werden nicht nur "echte" Fehler gemeldet, nein, ihr bekommt auch noch Hinweise auf schlampigen Code. Und im Gegensatz zur
prozeduralen Programmierung sind diese Meldungen bei der OOP sehr wichtig!
Warum E_ALL | E_STRICT?
Unter dem Punkt Grundlagen habe ich bei den Vorteilen darauf hingewiesen,
dass diese eine saubere Programmierung voraussetzen. Nur leider ist es so, dass wirklich wichtige Hinweise bei der OOP nur unter
E_STRICT
ausgegeben werden. Und glaubt mir, ohne diese Einstellung sucht ihr euch einen Wolf, wenn ihr wissen wollt, warum
bestimmte Dinge nicht funktionieren.
Darum müsst ihr mir einfach mal glauben. Ich rede hier aus eigener Erfahrung. Daher ist diese Einstellung auf meinem Linux-Server zu Hause mittlerweile Standard. In der Firma habe ich mit zu vielen Altlasten zu kämpfen, da wäre das nicht praktikabel.
3. Viele Köche verderben den Brei
Das sind wahrlich wahre Worte. Leider sieht der Alltag von vielen Programmierern anders aus. Da werkeln dann fünf, zehn, zwanzig oder noch mehr arme Menschen an einer Anwendung herum. Wie soll man da den Überblick behalten, wenn Kollege "X" eine Klasse entwirft, die über Interfaces oder abstrakte Klassen von Kollege "Y" vorgegeben wurde, und dann ein Ergebnis zurückzuliefern, das Kollege "Z" in einem bestimmten Format benötigt?
Logik
Um denn nun Ordnung in dieses Chaos zu bringen, gibt es in PHP5 endlich eine Möglichkeit, Ausnahmen abzufangen. Dabei kann man selber Fehlermeldungen oder -codes erzeugen und diese entsprechend abfangen, inklusive Ablaufverfolgung, Angaben über die Datei oder die Codezeile.
4. Der einsame Wolf
Die Einzelkämpfer unter euch werden jetzt sicher einwenden, dass sie so was nicht brauchen, da sie eh nur alleine an Etwas programmieren und ihren Code kennen. Stimmt, aber was ist in einem Jahr. Kennt ihr den dann immer noch? Auch die Coder-Singles unter euch sollten diese neuen Möglichkeiten nutzen.
5. Exception
Die Klasse wurde nativ in PHP5 eingebaut. Sucht also nicht nach ihr, die findet ihr nie. Und mit dieser Klasse kann man ganz bequem Fehler abfangen und darauf reagieren. Und die Einführung dazu kommt nun.
zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt