lib/CPAN/lib/CGI/Session/ErrorHandler.pm
author Colas Nahaboo <colas@nahaboo.net>
Sat, 26 Jan 2008 15:50:53 +0100
changeset 0 414e01d06fd5
permissions -rw-r--r--
RELEASE 4.2.0 freetown
     1 package CGI::Session::ErrorHandler;
     2 
     3 # $Id: ErrorHandler.pm 351 2006-11-24 14:16:50Z markstos $
     4 
     5 use strict;
     6 $CGI::Session::ErrorHandler::VERSION = "4.20";
     7 
     8 =pod
     9 
    10 =head1 NAME
    11 
    12 CGI::Session::ErrorHandler - error handling routines for CGI::Session
    13 
    14 =head1 SYNOPSIS
    15 
    16     require CGI::Session::ErrorHandler
    17     @ISA = qw( CGI::Session::ErrorHandler );
    18 
    19     sub some_method {
    20         my $self = shift;
    21         unless (  $some_condition ) {
    22             return $self->set_error("some_method(): \$some_condition isn't met");
    23         }
    24     }
    25 
    26 =head1 DESCRIPTION
    27 
    28 CGI::Session::ErrorHandler provides set_error() and errstr() methods for setting and accessing error messages from within CGI::Session's components. This method should be used by driver developers for providing CGI::Session-standard error handling routines for their code
    29 
    30 =head2 METHODS
    31 
    32 =over 4
    33 
    34 =item set_error($message)
    35 
    36 Implicitly defines $pkg_name::errstr and sets its value to $message. Return value is B<always> undef.
    37 
    38 =cut
    39 
    40 sub set_error {
    41     my $class   = shift;
    42     my $message = shift;
    43     $class = ref($class) || $class;
    44     no strict 'refs';
    45     ${ "$class\::errstr" } = sprintf($message || "", @_);
    46     return;
    47 }
    48 
    49 =item errstr()
    50 
    51 Returns whatever value was set by the most recent call to set_error(). If no message as has been set yet, the empty string is returned so the message can still concatenate without a warning. 
    52 
    53 =back
    54 
    55 =cut 
    56 
    57 *error = \&errstr;
    58 sub errstr {
    59     my $class = shift;
    60     $class = ref( $class ) || $class;
    61 
    62     no strict 'refs';
    63     return ${ "$class\::errstr" } || '';
    64 }
    65 
    66 =head1 LICENSING
    67 
    68 For support and licensing information see L<CGI::Session|CGI::Session>.
    69 
    70 =cut
    71 
    72 1;
    73