NAME

WWW::USF::Directory::Exception - Basic exception object for WWW::USF::Directory

VERSION

This documentation refers to version 0.003001

SYNOPSIS

use WWW::USF::Directory::Exception;

# Throw a generic error message
WWW::USF::Directory::Exception->throw(
  message => 'This is some error message',
);

DESCRIPTION

This is a basic exception class for the WWW::USF::Directory library.

ATTRIBUTES

message

Required. This is a string that contains the error message for the exception.

METHODS

stringify

This method is used to return a string that will be given when this object is used in a string context. Classes inheriting from this class are welcome to override this method. By default (as in, in this class) this method simply returns the contents of the message attribute.

my $error = WWW::USF::Directory::Exception->new(message => 'Error message');

print $error; # Prints "Error message"

throw

This method will take a HASH as the argument and will pass this HASH to the constructor of the class, and then throw the newly constructed object. An extra option that will be stripped is class. This option will actually construct a different class, where this class is in the package space below the specified class.

eval {
  WWW::USF::Directory->throw(
    class   => 'ClassName',
    message => 'An error occurred',
  );
};

print ref $@; # Prints WWW::USF::Directory::Exception::ClassName

DEPENDENCIES

AUTHOR

Douglas Christopher Wilson, <doug at somethingdoug.com>

BUGS AND LIMITATIONS

Please report any bugs or feature requests to bug-www-usf-directory at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=WWW::USF::Directory. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

I highly encourage the submission of bugs and enhancements to my modules.

LICENSE AND COPYRIGHT

Copyright 2010 Douglas Christopher Wilson.

This program is free software; you can redistribute it and/or modify it under the terms of either:

  • the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or

  • the Artistic License version 2.0.