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