|
|
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.
Barebones constructor.
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()
is an accessor method for $self->{errstr}.
This method sets $self->{errstr} to an empty string.
Vipul Ved Prakash, <mail@vipul.net>
Crypt::RSA(3)