Crypt::RSA::Errorhandler.3pm

Langue: en

Autres versions - même langue

Version: 2008-07-06 (fedora - 05/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

Crypt::RSA::Errorhandler - Error handling mechanism for Crypt::RSA.

SYNOPSIS

     package Foo;
 
     use Crypt::RSA::Errorhandler;
     @ISA = qw(Crypt::RSA::Errorhandler);
     
     sub alive { 
         ..
         ..
         return 
         $self->error ("Awake, awake! Ring the alarum bell. \
                        Murther and treason!", $dagger) 
             if $self->murdered($king);
     }
 
 
     package main; 
 
     use Foo;
     my $foo = new Foo;
     $foo->alive($king) or print $foo->errstr(); 
         # prints "Awake, awake! ... "
 
 

DESCRIPTION

Crypt::RSA::Errorhandler encapsulates the error handling mechanism used by the modules in Crypt::RSA bundle. Crypt::RSA::Errorhandler doesn't have a constructor and is meant to be inherited. The derived modules use its two methods, error() and errstr(), to communicate error messages to the caller.

When a method of the derived module fails, it calls $self->error() and returns undef to the caller. The error message passed to error() is made available to the caller through the errstr() accessor. error() also accepts a list of sensitive data that it wipes out (undef'es) before returning.

The caller should never call errstr() to check for errors. errstr() should be called only when a method indicates (usually through an undef return value) that an error has occured. This is because errstr() is never overwritten and will always contain a value after the occurance of first error.

METHODS

new()
Barebones constructor.
error($mesage, ($wipeme, $wipemetoo))
The first argument to error() is $message which is placed in $self- >{errstr} and the remaining arguments are interpretted as variables containing sensitive data that are wiped out from the memory. error() always returns undef.
errstr()
errstr() is an accessor method for $self->{errstr}.
errstrrst()
This method sets $self->{errstr} to an empty string.

AUTHOR

Vipul Ved Prakash, <mail@vipul.net>

SEE ALSO

Crypt::RSA(3)