Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Params::CallbackRequesUserxContributed PParams::CallbackRequest::Exceptions(3)

NAME
       Params::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	GitHub repository
       <http://github.com/theory/params-callbackrequest/>. Feel	free to	fork
       and contribute!

       Please file bug reports via GitHub Issues
       <http://github.com/theory/params-callbackrequest/issues/> or by sending
       mail to bug-params-callbackrequest@rt.cpan.org <mailto:bug-params-
       callbackrequest@rt.cpan.org>.

AUTHOR
       David E.	Wheeler	<david@justatheory.com>

COPYRIGHT AND LICENSE
       Copyright 2003-2011 David E. 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.32.0			  2020-0Params::CallbackRequest::Exceptions(3)

NAME | SYNOPSIS | DESCRIPTION | INTERFACE | SEE ALSO | SUPPORT | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Params::CallbackRequest::Exceptions&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help