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. |