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; // Desencadenar error if ($test>1) { trigger_error("Se ha activado un error personalizado"); } ?>
La salida del código es similar a lo siguiente:
Error personalizado: [1024] Se ha activado un error personalizado Error en la línea 14 en C:\webfolder\test.php
Definición y uso
La función set_error_handler() establece la función de manejo de errores personalizada.
Comentarios:Si se utiliza esta función, se omitirá el procesador de errores estándar de PHP, y si es necesario, el programa de errores definido por el usuario se detendrá con die().
Comentarios:Comentario: Si el error ocurre antes de la ejecución del script (por ejemplo, durante la carga de archivos), no se llamará al procesador de errores personalizado porque no se ha registrado en ese momento.
Sintaxis
set_error_handler(errorhandler,E_ALL|E_STRICT);
Parámetros | Descripción |
---|---|
errorhandler | Requerido. Define el nombre de la función de manejo de errores de usuario. |
E_ALL|E_STRICT | Opcional. Define qué nivel de informe de errores de usuario definido mostrar. El predeterminado es "E_ALL". |
Detalles técnicos
Valor de retorno: | Cadena que contiene el procesador de errores previamente definido. |
---|---|
Versión de PHP: | 4.0.1+ |
Registro de actualizaciones de PHP: |
PHP 5.5: Parámetros errorhandler Ahora acepta NULL PHP 5.2: El procesador de errores debe devolver FALSE para mostrar $php_errormsg. |