logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Class::ErrorHandler - Base class for error handling

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.

License

       This library is free software; you can redistribute it and/or modify it under the same terms as Perl
       itself.

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;

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.

See Also