Class::AutoClass::RootUser Contributed Perl DocumentaClass::AutoClass::Root(3)NAMEClass::AutoClass::RootSYNOPSIS # Here's how to throw and catch an exception using the eval-based
syntax.
$obj->throw("This is an exception");
eval {
$obj->throw("This is catching an exception");
};
if( $@ ) {
print "Caught exception";
} else {
print "no exception";
}
DESCRIPTION This class provides some basic functionality for Class::* classes.
This package is borrowed from bioperl project (http://bioperl.org/).
Because of the formidable size of the bioperl library, Root.pm is
included here with modifications. These modifications were to pare its
functioanlity down for its simple job here (removing routines that are
out of context and removing references to bioperl to avoid confusion).
Functions originally from Steve Chervitz of bioperl. Refactored by Ewan
Birney of bioperl. Re-refactored by Lincoln Stein of bioperl.
Throwing Exceptions
One of the functionalities that Class::AutoClass::Root provides is the
ability to throw() exceptions with pretty stack traces.
CONTACT
contact: Chris Cavnor -> ccavnor@systemsbiology.org
APPENDIX
The rest of the documentation details each of the object methods.
Internal methods are usually preceded with a _
new
Purpose : generic instantiation function can be overridden if
special needs of a module cannot be done in _initialize
verbose
Title : verbose
Usage : $self->verbose(1)
Function: Sets verbose level for how ->warn behaves
-1 = no warning
0 = standard, small warning
1 = warning with stack trace
2 = warning becomes throw
Returns : The current verbosity setting (integer between -1 to 2)
Args : -1,0,1 or 2
throw
Title : throw
Usage : $obj->throw("throwing exception message")
Function: Throws an exception, which, if not caught with an eval brace
will provide a nice stack trace to STDERR with the message
Returns : nothing
Args : A string giving a descriptive error message
stack_trace
Title : stack_trace
Usage : @stack_array_ref= $self->stack_trace
Function: gives an array to a reference of arrays with stack trace info
each coming from the caller(stack_number) call
Returns : array containing a reference of arrays
Args : none
_stack_trace_dump
Title : _stack_trace_dump
Usage :
Function:
Example :
Returns :
Args :
deprecated
Title : deprecated
Usage : $obj->deprecated("Method X is deprecated");
Function: Prints a message about deprecation
unless verbose is < 0 (which means be quiet)
Returns : none
Args : Message string to print to STDERR
warn
Title : warn
Usage : $object->warn("Warning message");
Function: Places a warning. What happens now is down to the
verbosity of the object (value of $obj->verbose)
verbosity 0 or not set => small warning
verbosity -1 => no warning
verbosity 1 => warning with stack trace
verbosity 2 => converts warnings into throw
Example :
Returns :
Args :
debug
Title : debug
Usage : $obj->debug("This is debugging output");
Function: Prints a debugging message when verbose is > 0
Returns : none
Args : message string(s) to print to STDERR
perl v5.14.1 2004-08-13 Class::AutoClass::Root(3)