PHP set_error_handler() 函数

实例

通过 set_error_handler() 函数设置用户自定义的错误处理程序,然后触发错误(通过 trigger_error()):

<?php
 // 用户定义的错误处理函数
 function myErrorHandler($errno, $errstr, $errfile, $errline) {
     echo "<b>Custom error:</b> [$errno] $errstr<br>";
     echo " Error on line $errline in $errfile<br>";
 }
 // 设置用户定义的错误处理函数
 set_error_handler("myErrorHandler");
 $test=2;
 // Attivazione dell'errore
 if ($test>1) {
     trigger_error("Un errore personalizzato è stato attivato");
 }
 ?> 

L'output del codice sopra è simile a questo:

Errore personalizzato: [1024] È stato attivato un errore personalizzato
 Errore alla riga 14 in C:\webfolder\test.php

Definizione e uso

La funzione set_error_handler() imposta il gestore degli errori definito dall'utente.

Commento:Se si utilizza questa funzione, si bypassa il gestore degli errori standard PHP e, se necessario, il programma di errore definito dall'utente termina lo script tramite die().

Commento:Se l'errore si verifica prima dell'esecuzione dello script (ad esempio durante l'upload dei file), il gestore degli errori personalizzato non verrà chiamato perché non è stato registrato in quel momento.

Sintassi

set_error_handler(errorhandler,E_ALL|E_STRICT);
Parametri Descrizione
errorhandler Obbligatorio. Specifica il nome della funzione di gestione degli errori utente.
E_ALL|E_STRICT Facoltativo. Specifica quale livello di report di errore utente definire. Di default è "E_ALL".

Dettagli tecnici

Valore di ritorno: Stringa che contiene il gestore degli errori definito in precedenza.
Versione PHP: 4.0.1+
Log delle aggiornamenti PHP:

PHP 5.5: Parametri errorhandler Ora accetta NULL

PHP 5.2: Il gestore degli errori deve restituire FALSE per visualizzare $php_errormsg.