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.