The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Bio::NEXUS::Util::Exceptions - Exception classes for Bio::NEXUS.

SYNOPSIS

 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;
 }

DESCRIPTION

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.

EXCEPTION CLASSES

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.

METHODS

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

REVISION

 $Id: Exceptions.pm,v 1.2 2007/09/24 04:52:11 rvos Exp $