Hauptmenü

Untermenü

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:

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