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 O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.