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.
Zwei von Google-Mitarbeitern entdeckte Schwachstellen werden bereits aktiv gegen Mac-Systeme mit Intel-Prozessoren eingesetzt. Sie erlauben…
Die Hintermänner haben es unter anderem auf Daten von Facebook-Geschäftskonten abgesehen. Opfer werden über angebliche…
Bis 2027 werden 90 Prozent der Unternehmen eine Hybrid-Cloud-Strategie umsetzen.
Apple belegt in der Statistik von Counterpoint die ersten drei Plätze. Samsungs Galaxy S24 schafft…
Kontinuierliche Content Produktion und Markenaufbau sind essentieller Pfeiler von langfristigen Unternehmenserfolg. Das ist mittlerweile auch…
KI-Funktionen beschleunigen die Erholung des PC-Markts. Der Nettogewinn legt um 44 Prozent zu, der Umsatz…