Eigener Error-Handler mit PHP

Nun da klar ist, dass das vollständige Abstellen aller Fehlermeldungen eine schlechte Idee ist, wird man sich wahrscheinlich fragen, welche anderen Möglichkeiten es gibt. Eine der elegantesten Lösungen des Problems besteht darin, PHPs standardmäßiges Error-Handling-System durch ein eigenes zu ersetzen. Ein solcher eigener Error-Handler kann so eingerichtet werden, dass er Fehler so behandelt, wie man es gern möchte, von der Anzeige der Meldungen bis zum Format, in dem die Fehler protokolliert und verfolgt werden.

Die entsprechende PHP-Funktion hierfür heißt set_error_handler(). Sie erwartet den Namen einer benutzerdefinierten Funktion, an welche die Fehler übergeben werden. Wenn ein Fehler auftritt, wird diese Funktion automatisch mit vier Parametern aufgerufen: dem Fehlercode und der entsprechenden Nachricht, dem Namen des Scripts, das den Fehler erzeugt hat, sowie der Zeilenzahl der Anweisung, die den Fehler ausgelöst hat. Die Funktion ist dann verantwortlich dafür, wie sie mit dem Fehler umgeht.

Hier ein einfaches Beispiel (Listing E):

Listing E


Wenn man dieses Script ausführt, sollte man so etwas zu sehen bekommen:


Hier wurde der Standard-Error-Handler von PHP durch den Code in der benutzerdefinierten Funktion myHandler() ersetzt. Wenn die Variable $undefVar aufgerufen wird, wird während der Laufzeit eine PHP-Benachrichtigung über undefinierte Variablen erzeugt und an die Funktion myHandler() weitergereicht, zusammen mit der Information, wo der defekte Code aufgetreten ist. Dann gibt die Funktion myHandler() eine freundliche Botschaft aus, die mithilfe der erhaltenen Fehlerinformationen erläutert, was schiefgegangen ist.

Hinweis: Es ist wichtig, daran zu denken, dass Parsefehler und schwerwiegende Fehler (fatal errors) aufgrund ihrer Natur den eigenen Error-Handler umgehen und mit dem standardmäßigen PHP-Error-Handling-Mechanismus angezeigt werden. Die Anzeige dieser Fehler kann mithilfe der Standardfunktion error_reporting() kontrolliert werden, wie oben beschrieben.

Themenseiten: Anwendungsentwicklung, PHP, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Eigener Error-Handler mit PHP

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *