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.
- Bio::NEXUS::Util::Exceptions::BadNumber
- 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.
- Bio::NEXUS::Util::Exceptions::BadString
- Thrown when a string that contains any of the characters
"():;," is given as an argument to a
method that expects a name.
- Bio::NEXUS::Util::Exceptions::BadFormat
- Thrown when a file format error is encountered (e.g. unknown or invalid
format).
- Bio::NEXUS::Util::Exceptions::OddHash
- 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.
- Bio::NEXUS::Util::Exceptions::ObjectMismatch
- Thrown when a method is called that requires an object as an argument, and
the wrong type of object is specified.
- Bio::NEXUS::Util::Exceptions::UnknownMethod
- Thrown when an unknown method is called (e.g. through AUTOLOAD).
- Bio::NEXUS::Util::Exceptions::BadArgs
- Thrown when something undefined is wrong with the supplied arguments.
- Bio::NEXUS::Util::Exceptions::FileError
- Thrown when a file specified as an argument does not exist or is not
readable.
- Bio::NEXUS::Util::Exceptions::ExtensionError
- Thrown when there is an error loading a requested extension.
- Bio::NEXUS::Util::Exceptions::OutOfBounds
- Thrown when an index is supplied that falls outside of an allowed
range.
- Bio::NEXUS::Util::Exceptions::NotImplemented
- Thrown when an interface method is called instead of the implementation by
the child class.
- Bio::NEXUS::Util::Exceptions::Deprecated
- Thrown when a deprecated method is called.
- new()
- 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'
- throw()
- 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'
- caught()
- 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
- rethrow()
- Rethrows a caught exception.
Type : Exception
Title : rethrow
Usage : $@->rethrow;
Function: Rethrows exception
Returns : A Bio::NEXUS::Util::Exceptions object
Args : None
- as_string()
- 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 $