.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' .\" expand to `' in nroff, nothing in troff, for use with C<>. .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Class::AutoClass::Root 3" .TH Class::AutoClass::Root 3 "2006-04-06" "perl v5.8.8" "User Contributed Perl Documentation" .SH "NAME" Class::AutoClass::Root .SH "SYNOPSIS # Here's how to throw and catch an exception using the eval-based syntax." .IX Header "SYNOPSIS # Here's how to throw and catch an exception using the eval-based syntax." .Vb 1 \& $obj->throw("This is an exception"); .Ve .PP .Vb 3 \& eval { \& $obj->throw("This is catching an exception"); \& }; .Ve .PP .Vb 5 \& if( $@ ) { \& print "Caught exception"; \& } else { \& print "no exception"; \& } .Ve .SH "DESCRIPTION This class provides some basic functionality for Class::* classes." .IX Header "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). .PP Functions originally from Steve Chervitz of bioperl. Refactored by Ewan Birney of bioperl. Re-refactored by Lincoln Stein of bioperl. .Sh "Throwing Exceptions" .IX Subsection "Throwing Exceptions" One of the functionalities that Class::AutoClass::Root provides is the ability to \fIthrow()\fR exceptions with pretty stack traces. .SH "CONTACT" .IX Header "CONTACT" contact: Chris Cavnor \-> ccavnor@systemsbiology.org .SH "APPENDIX" .IX Header "APPENDIX" The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ .Sh "new" .IX Subsection "new" .Vb 2 \& Purpose : generic instantiation function can be overridden if \& special needs of a module cannot be done in _initialize .Ve .Sh "verbose" .IX Subsection "verbose" .Vb 9 \& 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 .Ve .Sh "throw" .IX Subsection "throw" .Vb 6 \& 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 .Ve .Sh "stack_trace" .IX Subsection "stack_trace" .Vb 6 \& 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 .Ve .Sh "_stack_trace_dump" .IX Subsection "_stack_trace_dump" .Vb 6 \& Title : _stack_trace_dump \& Usage : \& Function: \& Example : \& Returns : \& Args : .Ve .Sh "deprecated" .IX Subsection "deprecated" .Vb 6 \& 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 .Ve .Sh "warn" .IX Subsection "warn" .Vb 11 \& 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 : .Ve .Sh "debug" .IX Subsection "debug" .Vb 5 \& 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 .Ve