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

Razor::Errorhandler - Error handling mechanism for Razor.

Author

       Vipul Ved Prakash, <mail@vipul.net>

Description

       Razor::Errorhandler encapsulates the error handling mechanism used by the modules in Razor bundle.
       Razor::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  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.

Methods

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}.

Name

       Razor::Errorhandler - Error handling mechanism for Razor.

See Also

Razor::Client(3)

perl v5.40.1                                       2025-05-24                          Razor2::Errorhandler(3pm)

Synopsis

           package Foo;

           use Razor::Errorhandler;
           @ISA = qw(Razor::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! ... "

See Also