GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Error::Helper(3) User Contributed Perl Documentation Error::Helper(3)

Error::Helper - Provides some easy error related methods.

Version 1.0.0

Below is a example module using this.

    package Foo;
    
    use warnings;
    use strict;
    use base 'Error::Helper';
    
    sub new{
        my $arg=$_[1];

        my $self = {
            perror=>undef,
            error=>undef,
            errorString=>"",
            errorExtra=>{
                         flags=>{
                                 1=>'UndefArg',
                                 2=>'test',
                                 }
                         }.
        };
        bless $self;

        #error if $arg is set to "test"
        if( $arg eq "test" ){
            $self->{perror}=1;
            $self->{error}=2;
            $self->{errorString}='A value of "test" has been set';
            $self->warn;
            return $self;
        }  

        return undef;
    }

    sub foo{
        my $self=$_[0];
        my $a=$_[1];

        if( ! $self->errorblank ){
            return undef;
        }

        if( !defined( $a ) ){
            $self->{error}=1;
            $self->{errorString}='No value specified';
            $self->warn;
            return undef;
        }

        return 1;
    }

Below is a example script.

    use Foo;
    
    my $foo=Foo->new( $ARGV[0] );
    if( $foo->error ){
        warn('error:'.$foo->error.': '.$foo->errorString);
        exit $foo->error;
    }
    
    $foo->foo($ARGV[1]);
    if( $foo->error ){
        warn('error:'.$foo->error.': '.$foo->errorString);
        exit $foo->error;
    }

There are three required variables in the blessed hash.

    $self->{error}

This contains the current error code.

    $self->{errorString}

This contains a description of the current error.

    $self->{perror}

This is set to true is a permanent error is present. If note, it needs set to false.

    $self->{errorExtra}

This is a hash reserved for any additional Error::Helper stuff that may be added at a latter date.

    $self->{errorExtra}{flags}

This hash contains error integer to flag mapping. The keys are the error integer and the value is the flag.

For any unmatched error integers, 'other' is returned.

Returns the current error code and true if there is an error.

If there is no error, undef is returned.

    if($self->error){
                warn('error: '.$foo->error.":".$foo->errorString);
    }

This blanks the error storage and is only meant for internal usage.

It does the following.

If $self->{perror} is set, it will not be able to blank any current errors.

    $self->{error}=undef;
    $self->{errorString}="";

This returns the error flag for the current error.

If none is set, undef is returned.

This may be used in a similar manner as the error method.

    if ( $self->errorFlag ){
        warn('error: '.$self->error.":".$self->errorFlag.":".$self->errorString);
    }

Returns the error string if there is one. If there is not, it will return ''.

    if($self->error){
        warn('error: '.$self->error.":".$self->errorString);
    }

This returns a Perl boolean for if there is a permanent error or not.

    if($self->perror){
                warn('A permanent error is set');
    }

Throws a warn like error message based

    $self->warn;

Throws a warn like error in the same for mate as warn, but with a freeform message.

    $self->warnString('some error');

Error flags are meant to be short non-spaced strings that are easier to remember than a specific error integer.

'other' is the generic error flag for when one is not defined.

An error flag should never evaluate to false if an error is present.

Zane C. Bowers-Hadley, "<vvelox at vvelox.net>"

Please report any bugs or feature requests to "bug-error-helper at rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Error-Helper>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

You can find documentation for this module with the perldoc command.

    perldoc Error::Helper

You can also look for information at:

  • RT: CPAN's request tracker

    <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Error-Helper>

  • AnnoCPAN: Annotated CPAN documentation

    <http://annocpan.org/dist/Error-Helper>

  • CPAN Ratings

    <http://cpanratings.perl.org/d/Error-Helper>

  • Search CPAN

    <http://search.cpan.org/dist/Error-Helper/>

Copyright 2012 Zane C. Bowers-Hadley.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.

2012-06-15 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.