NAME
Handel::Exception - Exceptions used within Handel
SYNOPSIS
use Handel::Cart;
use Handel::Exception' qw(:try);
try {
my $cart = Handel::Cart->new('junk crap');
} catch Handel::Exception::Argument with {
print 'Passed the wrong arguments to method';
} catch Handel::Exception with {
print 'Unknown issue with Handel';
} catch Error with {
print 'Unhandled exception';
} otherwise {
print 'aliens ate my exception';
};
DESCRIPTION
Handel::Exception
subclasses Error and attempts to throw exceptions when unexpected things happen.
EXCEPTIONS
Handel::Exception
This is the base exception thrown in Handel
. All other exceptions subclass Handel::Exception
so it's possibl to catch all Handel generated exceptions with a single catch
statement.
try {
...
} catch Handel::Exception with {
my $E = shift;
print 'Something bad happened in Handel: ' . E->text;
} catch MyApplicationException with {
print 'Something bad happened in MyApplication';
};
See Error for more information on how to use exceptions.
Handel::Exception::Constraint
This exception is thrown if a database constraint is violated. This is true for both raw DBI database constraint errors as well as field updates that don't pass constraints in Handel::Constraints
.
Handel::Exception::Argument
This exception is thrown when an invalid or unexpected argument value is passed into methods.
Handel::Exception::Taglib
This exception is thrown when an unexpected error occurs within AxKit::XSP::Handel::Cart
taglib.
METHODS
new
This returns a new Handel::Exception
object. This is mostly used internally by Error. In most circumstance, you don't need to call new
at all. Instead, simply use the throw
syntax:
use Handel::Exceptions;
throw Handel::Exception::Taglib(
-text => translate("Tag '[_1]' not valid inside of other Handel tags", $tag)
) if ($context[$#context] ne 'root');
SEE ALSO
AUTHOR
Christopher H. Laco
CPAN ID: CLACO
claco@chrislaco.com
http://today.icantfocus.com/blog/