PHP - Función set_error_handler ()
Sintaxis
mixed set_error_handler ( callback $error_handler [, int $error_types] );
Definición y uso
Esta función se puede utilizar para definir su propia forma de manejar los errores durante el tiempo de ejecución, por ejemplo, en aplicaciones en las que necesita realizar una limpieza de datos / archivos cuando ocurre un error crítico, o cuando necesita activar un error bajo ciertas condiciones.
Parámetros
No Señor | Descripción de parámetros |
---|---|
1 | error_handler(Required) Especifica la función que se ejecutará en caso de error. La sintaxis de error_handler se proporciona a continuación. |
2 | error_types(Optional) Especifica en qué niveles de informe de errores se mostrará el error definido por el usuario. El valor predeterminado es "E_ALL". Consulte "Constantes de registro y errores de PHP:" para conocer los posibles niveles de informes de errores. |
Sintaxis de la función del controlador de errores
error_function(error_level,error_message, error_file,error_line,error_context);
Aquí está la descripción del paramenter:
errno - El primer parámetro, errno, contiene el nivel del error generado, como un número entero.
errstr - El segundo parámetro, errstr, contiene el mensaje de error como una cadena.
errfile - El tercer parámetro es opcional, errfile, que contiene el nombre del archivo en el que se generó el error, como una cadena.
errline - El cuarto parámetro es opcional, errline, que contiene el número de línea en el que se generó el error, como un entero.
errcontext - El quinto parámetro es opcional, errcontext, que es una matriz que apunta a la tabla de símbolos activa en el punto en que ocurrió el error.
Valor devuelto
Devuelve una cadena que contiene el controlador de errores definido previamente (si lo hay) o NULL en caso de error.
Ejemplo
A continuación se muestra el uso de esta función:
<?php
function customError($errno, $errstr, $errfile, $errline) {
echo "Custom error: [$errno] $errstr\n";
echo "Error on line $errline in $errfile\n";
echo "Ending Script";
die();
}
//set error handler
set_error_handler("customError");
$test = 0;
//trigger error
if ($test > -1) {
trigger_error("A custom error has been triggered");
}
?>
Esto producirá el siguiente resultado:
Custom error: [1024] A custom error has been triggered Error on line 16
in /home/cg/root/1531703/main.php
Ending Script