PHP-Funktion set_error_handler()
Beispiel
Mit der Funktion set_error_handler() einen benutzerdefinierten Fehlerbehandlungsmechanismus setzen, und dann einen Fehler auslösen (durch trigger_error()):
<?php // 用户定义的错误处理函数 function myErrorHandler($errno, $errstr, $errfile, $errline) { echo "<b>Benutzerdefinierter Fehler:</b> [$errno] $errstr<br>"; echo "Fehler auf Zeile $errline in $errfile<br>"; } // 设置用户定义的错误处理函数 set_error_handler("myErrorHandler"); $test=2; // Fehler auslösen if ($test>1) { trigger_error("Ein benutzerdefinierter Fehler wurde ausgelöst"); } ?>
Die Ausgabe des obigen Codes ähnelt dem folgenden:
Benutzerdefinierter Fehler: [1024] Ein benutzerdefinierter Fehler wurde ausgelöst Fehler in Zeile 14 in C:\webfolder\test.php
Definition und Verwendung
Die Funktion set_error_handler() setzt die benutzerdefinierte Fehlerbehandlungsfunktion.
Kommentare:Wenn diese Funktion verwendet wird, wird der Standard PHP-Fehlerbehandlungsprogramm umgangen und, falls erforderlich, das Skript durch die benutzerdefinierte Fehlerbehandlungsprogramm mit die Funktion die durch die Funktion 'die()' beendet wird.
Kommentare:Falls ein Fehler vor der Ausführung des Skripts auftritt (z.B. beim Dateiupload), wird der benutzerdefinierte Fehlerbehandlungsprogramm nicht aufgerufen, da es zu diesem Zeitpunkt noch nicht registriert ist.
Syntax
set_error_handler(errorhandler,E_ALL|E_STRICT);
Parameter | Beschreibung |
---|---|
errorhandler | Erforderlich. Bestimmt den Namen der benutzerdefinierten Fehlerbehandlungsfunktion. |
E_ALL|E_STRICT | Optional. Bestimmt, welche Fehlerberichterstattungsstufe durch den benutzerdefinierten Fehler angezeigt werden soll. Standard ist "E_ALL". |
Technische Details
Rückgabewert: | Zeichenkette, die zuvor definierten Fehlerbehandlungsprogramme enthält. |
---|---|
PHP Version: | 4.0.1+ |
PHP Update-Protokoll: |
PHP 5.5: Parameter errorhandler Jetzt akzeptiert NULL PHP 5.2: Der Fehlerbehandlungsprozess muss FALSE zurückgeben, um $php_errormsg anzuzeigen. |