Crypt::RSA::Errorhandler - Error handling mechanism for Crypt::RSA.
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! ... "
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.
- 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.
Vipul Ved Prakash, <mail@vipul.net>