Bio::NEXUS::Util::Exceptions - Exception classes for Bio::NEXUS.
use Bio::NEXUS::Node; my $node = Bio::NEXUS::Node->new; # now let's try something illegal eval { $node->set_branch_length( 'non-numerical value' ); }; # have an error if ( $@ && UNIVERSAL::isa( $@, 'Bio::NEXUS::Util::Exception' ) ) { # print out where the error came from print $@->trace->as_string; }
Sometimes, Bio::NEXUS dies. If this happens because you did something that brought Bio::NEXUS into an undefined and dangerous state (such as might happen if you provide a non-numerical value for a setter that needs numbers), Bio::NEXUS will throw an "exception", a special form of the $@ variable that is a blessed object with useful methods to help you diagnose the problem.
$@
This package defines the exceptions that can be thrown by Bio::NEXUS. There are no serviceable parts inside. Refer to the Exception::Class perldoc for more examples on how to catch exceptions and show traces.
Original conception by Rutger Vos.
Thrown when anything other than a number that passes Scalar::Util's looks_like_number test is given as an argument to a method that expects a number.
Thrown when a string that contains any of the characters ():;, is given as an argument to a method that expects a name.
():;,
Thrown when a file format error is encountered (e.g. unknown or invalid format).
Thrown when an odd number of arguments has been specified. This might happen if you call a method that requires named arguments and the key/value pairs don't seem to match up.
Thrown when a method is called that requires an object as an argument, and the wrong type of object is specified.
Thrown when an unknown method is called (e.g. through AUTOLOAD).
Thrown when something undefined is wrong with the supplied arguments.
Thrown when a file specified as an argument does not exist or is not readable.
Thrown when there is an error loading a requested extension.
Thrown when an index is supplied that falls outside of an allowed range.
Thrown when an interface method is called instead of the implementation by the child class.
Thrown when a deprecated method is called.
Constructor
Type : Constructor Title : new Usage : $class->new( error => 'An exception was thrown!' ); Function: Constructs exception Returns : A Bio::NEXUS::Util::Exceptions object Args : error => 'Error message'
Throws exception.
Type : Exception Title : throw Usage : $class->throw( error => 'An exception was thrown!' ); Function: Throws exception Returns : A Bio::NEXUS::Util::Exceptions object Args : error => 'Error message'
Catches an exception by class.
Type : Handler Title : caught Usage : my $e = Bio::NEXUS::Util::Exceptions->caught; Function: Catches an exception Returns : A Bio::NEXUS::Util::Exceptions object Args : None
Rethrows a caught exception.
Type : Exception Title : rethrow Usage : $@->rethrow; Function: Rethrows exception Returns : A Bio::NEXUS::Util::Exceptions object Args : None
Serializes exception.
Type : Serializer Title : as_string Usage : print $@->as_string; Function: Serializes exception with description and stack trace. Returns : String Args : None
$Id: Exceptions.pm,v 1.5 2012/02/07 21:49:27 astoltzfus Exp $
To install Bio::NEXUS, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Bio::NEXUS
CPAN shell
perl -MCPAN -e shell install Bio::NEXUS
For more information on module installation, please visit the detailed CPAN module installation guide.