Class::ErrorHandler - Base class for error handling
package Foo;
use base qw( Class::ErrorHandler );
sub class_method {
my $class = shift;
...
return $class->error("Help!")
unless $continue;
}
sub object_method {
my $obj = shift;
...
return $obj->error("I am no more")
unless $continue;
}
package main;
use Foo;
Foo->class_method or die Foo->errstr;
my $foo = Foo->new;
$foo->object_method or die $foo->errstr;
Class::ErrorHandler provides an error-handling mechanism that's generic
enough to be used as the base class for a variety of OO classes. Subclasses
inherit its two error-handling methods,
error and
errstr, to
communicate error messages back to the calling program.
On failure (for whatever reason), a subclass should call
error and return
to the caller;
error itself sets the error message internally, then
returns "undef". This has the effect of the method that failed
returning "undef" to the caller. The caller should check for errors
by checking for a return value of "undef", and calling
errstr
to get the value of the error message on an error.
As demonstrated in the SYNOPSIS,
error and
errstr work as both
class methods and object methods.
Sets the error message for either the class
Class or the object
$object to the message
$message.
Returns "undef".
Accesses the last error message set in the class
Class or the object
$object, respectively, and returns that error message.
This library is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.
Except where otherwise noted,
Class::ErrorHandler is Copyright 2004
Benjamin Trott,
[email protected]. All rights reserved.