File Coverage

blib/lib/CGI/Session/ErrorHandler.pm
Criterion Covered Total %
statement 18 18 100.0
branch n/a
condition 8 10 80.0
subroutine 5 5 100.0
pod 2 2 100.0
total 33 35 94.2


line stmt bran cond sub pod time code
1             package CGI::Session::ErrorHandler;
2              
3             # $Id$
4              
5 29     29   147 use strict;
  29         82  
  29         1966  
6             $CGI::Session::ErrorHandler::VERSION = '4.43';
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 undef.
37              
38             =cut
39              
40             sub set_error {
41 47     47 1 81 my $class = shift;
42 47         72 my $message = shift;
43 47   66     222 $class = ref($class) || $class;
44 29     29   130 no strict 'refs';
  29         108  
  29         3011  
45 47   100     164 ${ "$class\::errstr" } = $message || "";
  47         252  
46 47         132 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 68     68 1 737 my $class = shift;
60 68   66     415 $class = ref( $class ) || $class;
61              
62 29     29   137 no strict 'refs';
  29         64  
  29         1976  
63 68   100     90 return ${ "$class\::errstr" } || '';
64             }
65              
66             =head1 LICENSING
67              
68             For support and licensing information see L.
69              
70             =cut
71              
72             1;
73