Params::CallbackRequesUserxContributed PParams::CallbackRequest::Exceptions(3)NAMEParams::CallbackRequest::Exceptions - Parameter callback exception
definitions
SYNOPSIS
use Params::CallbackRequest::Exceptions;
Params::Callback::Exception::Execution->throw("Whoops!");
use Params::CallbackRequest::Exceptions abbr => [qw(throw_cb_exec)];
throw_cb_exec "Whoops!";
DESCRIPTION
This module creates the exceptions used by Params::CallbackRequest and
Params::Callback. The exceptions are subclasses of
Exception::Class::Base, created by the interface defined by
Exception::Class.
INTERFACE
Exported Functions
This module exports two functions by default.
"isa_cb_exception"
eval { something_that_dies() };
if (my $err = $@) {
if (isa_cb_exception($err, 'Abort')) {
print "All hands abandon ship!";
} elsif (isa_cb_exception($err)) {
print "I recall an exceptional fault.";
} else {
print "No clue.";
}
}
This function takes a single argument and returns true if it's a
Params::Callback::Exception object. A second, optional argument can be
used to identify a particular subclass of Params::Callback::Exception.
"rethrow_exception"
eval { something_that_dies() };
if (my $err = $@) {
# Do something intelligent, and then...
rethrow_exception($err);
}
This function takes an exception as its sole argument and rethrows it.
If the argument is an object that "can('throw')", such as any subclass
of Exception::Class, then "rethrow_exception()" will call its rethrow
method. If not, but the argument is a reference, "rethrow_exception()"
will simply die with it. And finally, if the argument is not a
reference at all, "rethrow_exception()" will throw a new
Params::Callback::Exception exception with the argument used as the
exception error message.
Abbreviated Exception Functions
Each of the exception classes created by
Params::CallbackRequest::Exceptions has a functional alias for its
throw class method. These may be imported by passing an array reference
of the names of the abbreviated functions to import via the "abbr"
parameter:
use Params::CallbackRequest::Exceptions abbr => [qw(throw_cb_exec)];
The names of the abbreviated functions are:
throw_cb
Params::Callback::Exception
throw_bad_key
Params::Callback::Exception::InvalidKey
throw_cb_exec
Params::Callback::Exception::Execution
throw_bad_params
Params::Callback::Exception::Params
throw_abort
Params::Callback::Exception::Abort
Exception Classes
The exception classes created by Params::Callback::Exception are as
follows:
Params::Callback::Exception
This is the base class for all Params::Callback exception classes. Its
functional alias is "throw_cb".
Params::Callback::Exception::InvalidKey
Params::CallbackRequest throws this exception when a callback key in
the parameter hash passed to "new()" has no corresponding callback. In
addition to the attributes offered by Exception::Class::Base, this
class also features the attribute "callback_key". Use the
"callback_key()" accessor to see what callback key triggered the
exception. Params::Callback::Exception::InvalidKey's functional alias
is "throw_bad_key".
Params::Callback::Exception::Execution
This is the exception thrown by Params::CallbackRequest's default
exception handler when a callback subroutine or method dies. In
addition to the attributes offered by Exception::Class::Base, this
class also features the attributes "callback_key", which corresponds to
the parameter key that triggered the callback, and "callback_error"
which is the error thrown by the callback subroutine or method.
Params::Callback::Exception::Execution's functional alias is
"throw_cb_exec".
Params::Callback::Exception::Params
This is the exception thrown when an invalid parameter is passed to
Params::CallbackRequest's or Params::Callback's "new()" constructors.
Its functional alias is "throw_bad_params".
Params::Callback::Exception::Abort
This is the exception thrown by Params::Callback's "abort()" method.
functional alias is "throw_cb". In addition to the attributes offered
by Exception::Class::Base, this class also features the attribute
"aborted_value" attribute. Use the "aborted_value()" accessor to see
what value was passed to "abort()".
Params::Callback::Exception::Abort's functional alias is "throw_abort".
SEE ALSO
Params::Callback is the base class for all callback classes.
Params::CallbackRequest sets up callbacks for execution.
Exception::Class defines the interface for the exception classes
created here.
SUPPORT
This module is stored in an open repository at the following address:
https://svn.kineticode.com/Params-CallbackRequest/trunk/
<https://svn.kineticode.com/Params-CallbackRequest/trunk/>
Patches against Params::CallbackRequest are welcome. Please send bug
reports to <bug-params-callbackrequest@rt.cpan.org>.
AUTHOR
David Wheeler <david@kineticode.com>
COPYRIGHT AND LICENSE
Copyright 2003-2008 David Wheeler. Some Rights Reserved.
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
perl v5.14.12011-0Params::CallbackRequest::Exceptions(3)