Manejo de Errores
CodeIgniter le permite crear un reporte de errores en sus aplicaciones usando las funciones descritas abajo. Además, tiene una clase de historial de errores que le permite que los mensajes de error y depuración sean guardados en archivos de texto.
Nota: Por defecto, CodeIgniter muestra todos los errores PHP. Puede querer cambiar este comportamiento una vez que su desarrollo esté completo. Encontrará la función error_reporting() ubicada al principio de su archivo index.php principal. Deshabilitar el reporte de errores NO prevendrá que el archivo de historial sea escrito si hay errores.
A diferencia de la mayoría de los sistemas en CodeIgniter, las funciones de error son interfaces de simple procedimiento que están disponibles globalmente a lo largo de la aplicación. Este aproximamiento le permite que los mensajes de error sean activados sin tener que preocuparse de el ámbito de la clase/función.
La siguientes funciones le permiten generar errores:
show_error('mensaje')
Esta función mostrará el mensaje de error suministrado usando la siguiente plantilla de error:
application/errors/error_general.php
show_404('pagina')
Esta función mostrará el mensaje de error 404 suministrado usando la siguiente plantilla de error:
application/errors/error_404.php
La función espera que la cadena pasada sea la ruta del archivo a la página que no se encontró. Note que CodeIgniter automáticamente mostrará mensajes 404 si los controladores no serán encontrados.
log_message('nivel', 'mensaje')
Esta función le permitirá escribir mensajes de error en sus archivos de historial. Debe suministrar uno de tres "niveles" en el primer parámetro, indicando que tipo de mensaje es (depuración, error, info), con el mensaje mismo en el segundo parámetro. Ejemplo:
if ($alguna_variable == "")
{
log_message('error', 'Alguna variable no contenía un valor.');
}
else
{
log_message('debug', 'Alguna variable era correctamente establecida');
}
log_message('info', 'El proposito de alguna variabl es proveer algún valor.');
Hay tres tipos de mensajes:
- Mensajes de Error. Estos son mensajes de error, tal como errores de PHP o del usuario.
- Mensajes de Depuración. Estos son mensajes que le asisten al depurar. Por ejemplo, si una clase ha sido inicializadam podría guardar en el historial esta información de depuración.
- Mensajes Informacionales. Estos son los mensajes de menor prioridad, simplemente dan información acerca de algún proceso. CodeIgniter no genera nativamente ningún mensaje de informaciójn pero puede quererlo en su aplicación.
Nota: Para que el archivo de historial sea realmente escriturable, la carpeta "logs" debe ser escriturable. Además debe establecer el "threshold" del historial. Puede, por ejemplo, sólo querer que los mensajes de errore sean guardados, y no los otros dos tipos. Si lo establece a cero el historial será deshabilitado.