| Basicos::Error - Gestión universal de errores |
Basicos::Error - Gestión universal de errores
Utilizándolo como clase base:
package MyPackage;
use base qw(Basicos::Error);
sub dispatch {
my $self = shift;
my $record = shift;
}
package main;
my $obj = MyPackage->new();
$obj->verbose(1);
$obj->debug_level(5);
$obj->warning('Este es un aviso');
Usándolo como objeto único en una aplicación:
use Basicos::Error;
my $err = Basicos::Error->instance();
$err->warning('Este es un aviso global');
E incluyéndolo como librería global:
use Basicos::Error qw(:all);
log('Este es mi mensaje de error');
=head1 DESCRIPTION
Este módulo proporciona varios mecanismos para registrar y tratar mensajes de error.
Las opciones son las siguientes:
Proporciona métodos extra para gestionar una pila de errores en una clase derivada.
Proporciona un objeto único para toda una aplicación.
Proporciona un conjunto de funciones que gestiona una pila global de mensajes de error.
Los métodos que proporciona a cualquier nivel son los siguientes:
$myobject->log( $msg, %params );
Registra un error con el nivel B<info>. Útil para guardar la actividad a
nivel de aplicación.
El valor predeterminado es enviar el texto a la salida estándar del proceso.
Parámetros
Resultados
Ninguno especificado por el momento.
$myobject->debug( $nivel, $texto, %parametros)
Similar al método C<log()>, pero registra sólo si el nivel de depuración
(C<$nivel>) es menor o igual que el límite especificado en el objeto.
Los parámetros son los mismos que para log(), excepto que se incluye el
nivel de depuración antes que el mensaje.
$myobj->debug1( $texto, %parametros );
$myobj->debug2( $texto, %parametros );
$myobj->debug3( $texto, %parametros );
$myobj->debug4( $texto, %parametros );
$myobj->debug5( $texto, %parametros );
$myobj->debug6( $texto, %parametros );
$myobj->debug7( $texto, %parametros );
$myobj->debug8( $texto, %parametros );
$myobj->debug9( $texto, %parametros );
Métodos de conveniencia para generar mensajes de depuración según el nivel.
$myobject->warning( $mensaje, %parametros);
Similar al método log(), pero registrando con nivel warning y envíando
el mensaje a la salida estándar de errores si no se le indica otra cosa.
Los parámetros son idénticos a log().
$myobject->fatal( $mensaje, %parametros);
Registra un mensaje de error y finaliza la ejecución del programa mediante croak (por lo que puede interceptarse).
Los parámetros son idénticos a log(), excepto que no debería haber
retorno de la llamada.
report_fatal()Registra un mensaje de error con nivel 'fatal' y vuelve sin terminar el programa en modo alguno. Esto queda en manos de la aplicación de nivel superior.
El resto es idéntico a la función fatal().
my $mensaje = $myobject->strerr();
my @mensajes = $myobject->strerr();
Proporciona el último mensaje de error registrado, ó todos ellos, dependiendo de en qué contexto sea llamado.
Resultados
Último mensaje registrado (ya formateado) si se llama en contexto escalar ó todos los mensajes si se llama en contexto de lista. Un valor sin definir si no hay ningún error registrado.
if ($myobject->has_errors()) {
# ha habido errores
1;
}
Permite comprobar si hay errores registrados.
Resultados
$myobject->clear_errors();
Limpia la pila de registro de errores del objeto. Útil cuando se desea comenzar una operación desde cero.
No admite parámetros y no retorna nada.
Esto sólo se aplica cuando se pretende usar la característica de objeto único de gestión de errores para una aplicación.
use Basicos::Error;
my $err = Basicos::Error->instance();
$err->warning(' ... ');
Retorna una instancia a un objeto global de la clase, y sólo lo crea la primera vez que se llama en alguna parte de la aplicación.
Parámetros
Resultados
$obj->initialize();
Método de inicialización (envoltorio a _init_object()).
$obj->dispatch( $record );
Muestra el registro por la salida estándar.
$obj->msg( @args );
Wrapper como método para la función _msgx().
(c) Copyright Víctor Moral <victor@taquiones.net>
Este programa está bajo licencia GPL (ver perlgpl) y puede distribuirse y/ó modificarse bajo los términos en ella descritos.
| Basicos::Error - Gestión universal de errores |