La función set_error_handler() establece una función de manejo de errores definida por el usuario.
Esta función se utiliza para crear el método de manejo de errores propio del usuario durante el tiempo de ejecución.
Esta función devuelve el antiguo controlador de errores o NULL en caso de error.
set_error_handler(función_error,tipos_error)
parámetro | describir |
---|---|
función_error | Requerido. Especifica la función que se ejecutará cuando se produzca un error. |
tipos de error | Opcional. Especifica en qué nivel de informe de errores se muestran los errores definidos por el usuario. El valor predeterminado es "E_ALL". Los posibles niveles de informe de errores se detallan en la siguiente tabla. |
función_error(nivel_error,mensaje_error,archivo_error,línea_error,contexto_error)
parámetro | describir |
---|---|
nivel_error | Requerido. Especifica el nivel de informe de errores para errores definidos por el usuario. Debe ser un número de valor. Los posibles niveles de informe de errores se detallan en la siguiente tabla. |
mensaje_error | Requerido. Especifica el mensaje de error para errores definidos por el usuario. |
archivo_error | Opcional. Especifica el nombre del archivo donde ocurrió el error. |
línea_error | Opcional. Especifica el número de línea donde ocurrió el error. |
contexto_error | Opcional. Especifica una matriz que apunta a la tabla de símbolos activa donde ocurrió el error. En otras palabras, error_context contendrá una matriz que describe el alcance existencial en el que cada variable arroja un error. |
valor | constante | describir |
---|---|---|
2 | E_ADVERTENCIA | Error de tiempo de ejecución no fatal. La ejecución del script no se detiene. |
8 | E_AVISO | Notificaciones en tiempo de ejecución. El descubrimiento de scripts puede ser un error, pero también puede ocurrir cuando se ejecuta un script normalmente. |
256 | E_USER_ERROR | Error fatal generado por el usuario. Esto es como el E_ERROR generado por el programador usando la función PHP trigger_error(). |
512 | E_USER_WARNING | Error no fatal generado por el usuario. Esto es como un E_WARNING generado por el programador usando la función PHP trigger_error(). |
1024 | E_USER_NOTICE | Notificaciones generadas por el usuario. Esto es como el E_NOTICE generado por el programador usando la función PHP trigger_error(). |
4096 | E_RECOVERABLE_ERROR | Errores fatales detectables. Esto es como un E_ERROR que puede ser detectado por un identificador definido por el usuario (consulte set_error_handler()). |
8191 | E_ALL | Todos los niveles de error y advertencia excepto E_STRICT (desde PHP 6.0, E_STRICT será parte de E_ALL). |
Consejo: Si se utiliza esta función, las funciones estándar de manejo de errores de PHP se omitirán por completo. Si es necesario, el controlador de errores definido por el usuario debe finalizar el script (die()). Nota: Si se produce un error antes de que se ejecute el script, no se utilizará el controlador de errores personalizado porque el programa personalizado no se ha registrado en ese momento.
<?php//función del controlador de errores function customError($errno, $errstr, $errfile, $errline) { echo "<b>Error personalizado:</b> [$errno] $errstr<br />" echo "; Error en la línea $errline en $errfile<br />"; echo "Ending Script"; die(); }//set error handlerset_error_handler("customError");$test=2;//trigger errorif ($test>1) { trigger_error("Se ha activado un error personalizado" }?>
La salida del código anterior se ve así:
Error personalizado: [1024] Se ha activado un error personalizadoError en la línea 19 en C:webfoldertest.phpEnding Script