|
ensembl-hive
2.7.0
|
Public Member Functions | |
| public void | throw () |
| public void | warning () |
| public void | info () |
| public Int | verbose () |
| public String | stack_trace_dump () |
| public Array | stack_trace () |
| public void | deprecate () |
| public Depend | try () |
| public | catch () |
This is derived from the Bio::Root module in BioPerl. Some formatting has been changed and the deprecate function has been added. Most notably the object methods are now static class methods that can be called without inheriting from Bio::Root. This is especially useful for throwing exceptions with stack traces outside of a blessed context. The originaly implementations of these methods were by Steve Chervitz and refactored by Ewan Birney. It is recommended that these functions be used instead of inheriting unnecessarily from the Bio::Root object. The functions exported by this package provide a set of useful error handling methods.
Definition at line 68 of file Exception.pm.
| public Bio::EnsEMBL::Utils::Exception::catch | ( | ) |
Undocumented method
Code:
| public void Bio::EnsEMBL::Utils::Exception::deprecate | ( | ) |
Arg [1] : string $mesg
A message describing why a method is Example :
method was called. Deprecated warnings only appear once for each location the method was called from. No message is displayed if the level of verbosity is lower than the level of the warning. Returntype : none Exceptions : warning every time Caller :
methods
Description: Prints a warning to STDERR that the method which called
deprecate() is Code:
click to view
| public void Bio::EnsEMBL::Utils::Exception::info | ( | ) |
Arg [1] : string $string
The message to be displayed
Arg [2] : (optional) int $level
Override the default level of this message so it is displayed at
a different level of verbosity than it normally would be.
Example : Description: This prints an info message to STDERR if verbosity is higher
than the level of the message. By default info messages are not
displayed.
Returntype : none
Exceptions : none
Caller : general
Code:
| public Array Bio::EnsEMBL::Utils::Exception::stack_trace | ( | ) |
Arg [1] : none Example :
Description: Gives an array to a reference of arrays with stack trace info
each coming from the caller(stack_number) call
Returntype : array of listrefs of strings
Exceptions : none
Caller : general, stack_trace_dump()
Code:
| public String Bio::EnsEMBL::Utils::Exception::stack_trace_dump | ( | ) |
Arg [1] : (optional) int $levels
The number of levels to ignore from the top of the stack when
creating the dump. This is useful when this is called internally
from a warning or throw function when the immediate caller and
stack_trace_dump function calls are themselves uninteresting.
Example :Description: Returns a stack trace formatted as a string Returntype : string Exceptions : none Caller : general, throw, warning
Code:
| public void Bio::EnsEMBL::Utils::Exception::throw | ( | ) |
Arg [1] : string $msg
Arg [2] : (optional) int $level
override the default level of exception throwing
Example : Description: Throws an exception which if not caught by an eval will
provide a stack trace to STDERR and die. If the verbosity level
is lower than the level of the throw, then no error message is
displayed but the program will still die (unless the exception
is caught).
Returntype : none
Exceptions : thrown every time
Caller : generally on error
Code:
| public Depend Bio::EnsEMBL::Utils::Exception::try | ( | ) |
Arg [1] : anonymous subroutine
the block to be tried
Arg [2] : return value of the catch function
Example : The syntax is:
try { block1 } catch { block2 };
{ block1 } is the 1st argument
catch { block2 } is the 2nd argument
e.g.
try {
throw("this is an exception with a stack trace");
} catch {
print "Caught exception:\n$_";
};
In block2, $_ is assigned the value of the first
throw or die statement executed in block 1. Description: Replaces the classical syntax
eval { block1 };
if ($@) { block2 }
by a more confortable one.
In the try/catch syntax, the original $@ is in $_ in the catch subroutine.
This try/catch implementation is a copy and paste from
"Programming Perl" 3rd Edition, July 2000, by L.Wall, T. Christiansen
& J. Orwant. p227, and is only possible because of subroutine prototypes.
Returntype : depend on what is implemented the try or catch block
Exceptions : none
Caller : general
Code:
| public Int Bio::EnsEMBL::Utils::Exception::verbose | ( | ) |
Arg [1] : (optional) int Example :
Description: Gets/Sets verbosity level which defines which messages are
to be displayed. An integer value may be passed or one of the
following strings:
'OFF' (= 0)
'EXCEPTION' (= 1000)
'WARNING' (= 2000)
'DEPRECATE' (= 3000)
'INFO' (= 4000)
'ALL' (= 1000000)Returntype : int Exceptions : none Caller : general
Code:
| public void Bio::EnsEMBL::Utils::Exception::warning | ( | ) |
Arg [1] : string warning(message);
Arg [2] : (optional) int level
Override the default level of this warning changning the level
of verbosity at which it is displayed.
Example : Description: If the verbosity level is higher or equal to the level of this
warning then a warning message is printed to STDERR. If the
verbosity lower then nothing is done. Under the default
levels of warning and verbosity warnings will be displayed.
Returntype : none
Exceptions : warning every time
Caller : general
Code: