9.11 Ungefangene Exceptions zentral behandeln

Problem

Sie wollen an einer zentralen Stelle dafür sorgen, dass alle ungefangenen Ausnahmen (Exceptions) abgefangen werden. Dadurch könnten Sie beispielsweise eine geeignete Hinweismeldung ausgeben und Details zu diesem Fehler an Ihre private E-Mail-Adresse senden.

Lösung

Deklarieren Sie eine Exception-Handler-Funktion, in der Sie den Fehler behandeln, und registrieren Sie diese Funktion mit set_exception_handler():

function exception_handler(Exception $exception) {
    echo "<h1>Uuups !</h1><p>Es ist ein Fehler aufgetreten.</p>";
    // Eine E-Mail an den Administrator senden.
    // ...
}
set_exception_handler('exception_handler');

throw new Exception ('unerwarteter Fehler');

Diskussion

Mit der Funktion set_exception_handler() ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.