PHP set_error_handler()Funktionen


PHP Error 参考手册Vollständiges PHP-Fehler-Referenzhandbuch

Definition und Verwendung

Die Funktion set_error_handler() legt eine benutzerdefinierte Fehlerbehandlungsfunktion fest.

Diese Funktion wird verwendet, um zur Laufzeit eine eigene Fehlerbehandlungsmethode des Benutzers zu erstellen.

Diese Funktion gibt den alten Fehlerbehandler zurück oder NULL, wenn sie fehlschlägt.

Syntax

set_error_handler(error_function,error_types)

Parameters Beschreibung
error_function Erforderlich. Gibt die Funktion an, die ausgeführt werden soll, wenn ein Fehler auftritt.
error_types Optional. Gibt an, welche Fehlerberichtsebene benutzerdefinierte Fehler anzeigt. Standard ist "E_ALL". Mögliche Fehlerberichtsebenen finden Sie in der Tabelle unten.

error_function

Syntax

error_function(error_level,error_message,
error_file,error_line,error_context)

Parameters Beschreibung
error_level Erforderlich. Gibt die Fehlerberichtsebene für benutzerdefinierte Fehler an. Muss ein numerischer Wert sein. Mögliche Fehlerberichtsebenen finden Sie in der Tabelle unten.
error_message Erforderlich. Gibt die Fehlermeldung für den benutzerdefinierten Fehler an.
error_file Optional. Gibt den Dateinamen an, in dem der Fehler aufgetreten ist.
error_line Optional. Gibt die Zeilennummer an, in der der Fehler aufgetreten ist.
error_context Optional. Gibt ein Array an, das auf die aktive Symboltabelle verweist, in der der Fehler aufgetreten ist. Mit anderen Worten, error_context enthält ein Array, das den Gültigkeitsbereich erklärt, in dem jede Variable existiert, die den Fehler verursacht hat.

Fehlerberichtsebenen

Wert Konstante Beschreibung
2 E_WARNING Nicht schwerwiegende Laufzeitfehler. Die Ausführung des Skripts wird nicht angehalten.
8 E_NOTICE Laufzeithinweise. Das Skript entdeckt etwas, das ein Fehler sein könnte, aber es kann auch während der normalen Skriptausführung auftreten.
256 E_USER_ERROR Vom Benutzer erzeugter schwerwiegender Fehler. Dies ist wie ein E_ERROR, der vom Programmierer mit der PHP-Funktion trigger_error() erzeugt wird.
512 E_USER_WARNING Vom Benutzer erzeugter nicht schwerwiegender Fehler. Dies ist wie ein E_WARNING, der vom Programmierer mit der PHP-Funktion trigger_error() erzeugt wird.
1024 E_USER_NOTICE Vom Benutzer erzeugter Hinweis. Dies ist wie ein E_NOTICE, das vom Programmierer mit der PHP-Funktion trigger_error() erzeugt wird.
4096 E_RECOVERABLE Abfangbarer schwerwiegender Fehler. Dies ist wie ein E_ERROR, der von einem benutzerdefinierten Handler abgefangen werden kann (siehe set_error_handler()).
8191 E_ALL Alle Fehler- und Warnstufen, außer E_STRICT (seit PHP 6.0 wird E_STRICT Teil von E_ALL sein).


Tipps und Hinweise

Tipp:Wenn diese Funktion verwendet wird, wird die standardmäßige PHP-Fehlerbehandlungsfunktion vollständig umgangen. Falls erforderlich, muss der benutzerdefinierte Fehlerhandler das Skript beenden (die()).

Hinweis:Wenn ein Fehler auftritt, bevor das Skript ausgeführt wird, wird der benutzerdefinierte Fehlerhandler nicht verwendet, da der benutzerdefinierte Handler zu diesem Zeitpunkt noch nicht registriert wurde.


Beispiele

<?php
//error handler function
function customError($errno, $errstr, $errfile, $errline)
{
echo "<b>Benutzerdefinierter Fehler:</b> [$errno] $errstr<br />";
echo " Fehler in Zeile $errline in $errfile<br />";
echo "Ending Script";
die();
}

//set error handler
set_error_handler("customError");

$test=2;

//Fehler auslösen
if ($test>1)
{
trigger_error("A custom error has been triggered");
}
?>

Die Ausgabe des obigen Codes ist unten dargestellt:

Benutzerdefinierter Fehler: [1024] Ein benutzerdefinierter Fehler wurde ausgelöst
Fehler in Zeile 19 in C:webfoldertest.php
Ending Script


PHP Error 参考手册Vollständiges PHP-Fehler-Referenzhandbuch Andere Erweiterungen