PHP set_error_handler() functie

Voorbeeld

Door de functie set_error_handler() een gebruikersdefinieerde foutafhandlingsprogramma in te stellen, en vervolgens een fout te triggeren (via trigger_error()):

<?php
 // 用户定义的错误处理函数
 function myErrorHandler($errno, $errstr, $errfile, $errline) {
     echo "<b>Custom error:</b> [$errno] $errstr<br>";
     echo " Fout op regel $errline in $errfile<br>";
 }
 // 设置用户定义的错误处理函数
 set_error_handler("myErrorHandler");
 $test=2;
 // Fout triggeren
 if ($test>1) {
     trigger_error("Een aangepaste fout is getriggerd");
 }
 ?> 

De uitvoer van de bovenstaande code lijkt er zo uit:

Aangepaste fout: [1024] Een aangepaste fout is getriggerd
 Fout op regel 14 in C:\webfolder\test.php

Definitie en gebruik

De set_error_handler() functie stelt een gebruikersdefinieerde foutafhandelfunctie in.

Opmerking:Als deze functie wordt gebruikt, wordt de standaard PHP foutafhandeling omzeild en, indien nodig, wordt het script afgesloten via die() door de gebruikersdefinieerde foutafhandeling.

Opmerking:Als een fout voor de uitvoering van het script optreedt (bijvoorbeeld tijdens het uploaden van een bestand), wordt de aangepaste foutafhandelaar niet aangeroepen omdat deze toen nog niet was geregistreerd.

Syntax

set_error_handler(errorhandler,E_ALL|E_STRICT);
Parameters Beschrijving
errorhandler Verplicht. Bepaalt de naam van de gebruikersdefinieerde foutafhandelfunctie.
E_ALL|E_STRICT Optioneel. Bepaalt welke foutmeldingsniveaus door de gebruiker gedefinieerde fouten moeten worden weergegeven. Standaard is "E_ALL".

Technische details

Retourwaarde: Bevat een string met eerder gedefinieerde foutafhandelaars.
PHP Versie: 4.0.1+
PHP Update Log:

PHP 5.5: Parameters errorhandler Nu accepteert NULL

PHP 5.2: De foutafhandelaar moet FALSE teruggeven om $php_errormsg weer te geven.