Gestión personalizada de errores
El mecanismo para crear gestores de error en PHP es bastante simple. Se crea una función de usuario para tales fines; esta función se define dentro de la secuencia de comandos de PHP y utiliza cinco parámetros: número de error, descripción del error, nombre del archivo en donde se produjo el error, número de línea en donde se produjo el error y contexto. Los dos primeros parámetros son obligatorios y el resto es opcional. De modo que la función tiene esta sintaxis:
function gestor_error($error_numero, $error_descripcion
[, $error_nombre_archivo, $error_numero_linea, $error_contexto])
{
//código para el tratamiento de los errores
...
}
PHP suministra un conjunto de funciones para el tratamiento de errores que luego veremos en acción.
Captura de errores
mixed set_error_handler (callback gestor_errores)
Función que nos permite establecer una función encargada de gestionar todos los errores que se produzcan. Usaremos la función
bool restore_error_handler ( void )
para recuperar la función anterior de gestión de errores.
Más información: http://php.net/manual/es/function.set-error-handler.php
bool trigger_error (string mensaje_error [, int tipo_error])
Permite al programador desencadenar errores propios. La función tiene una alias denominada user_error.
Más información en http://php.net/manual/es/function.trigger-error.php
Veamos un ejemplo:
// función de usuario para la gestion de errores
function MiGestorErrores($num_error, $mens_error, $archivo_error, $linea_error, $contexto_error)
{
switch ($num_error) {
case E_USER_ERROR:
break;
case E_USER_WARNING:
break;
case E_USER_NOTICE:
break;
default:
}
//Establecemos nuestro propio gestor de errores
$var = set_error_handler("MiGestorErrores");
// En $var queda el nombre de la rutina de gestión de errores
// si se usa la función restore_error_handler() se puede restablecer