Class::AutoClass::Root.3pm

Langue: en

Autres versions - même langue

Version: 2004-08-13 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Class::AutoClass::Root

SYNOPSIS # 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