GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Params::CallbackRequest::Exceptions(3) User Contributed Perl Documentation Params::CallbackRequest::Exceptions(3)

Params::CallbackRequest::Exceptions - Parameter callback exception definitions

  use Params::CallbackRequest::Exceptions;
  Params::Callback::Exception::Execution->throw("Whoops!");

  use Params::CallbackRequest::Exceptions abbr => [qw(throw_cb_exec)];
  throw_cb_exec "Whoops!";

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.

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

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".

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.

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>.

David E. Wheeler <david@justatheory.com>

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.

2022-04-08 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.