Class::ErrorHandler(3pm) User Contributed Perl Documentation Class::ErrorHandler(3pm)
NAME
Class::ErrorHandler - Base class for error handling
SYNOPSIS
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;
DESCRIPTION
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.
USAGE
Class->error($message)
$object->error($message)
Sets the error message for either the class Class or the object $object to the message
$message. Returns "undef".
Class->errstr
$object->errstr
Accesses the last error message set in the class Class or the object $object,
respectively, and returns that error message.
LICENSE
This library is free software; you can redistribute it and/or modify it under the same
terms as Perl itself.
AUTHOR & COPYRIGHT
Except where otherwise noted, Class::ErrorHandler is Copyright 2004 Benjamin Trott,
cpan AT stupidfool.org. All rights reserved.
perl v5.26.0 2017-08-06 Class::ErrorHandler(3pm)
Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2025-11-04 23:51 @216.73.216.210 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)