NAME
Games::Go::AGA::Parse::Exceptions - Exceptions classes for AGA Parsers
VERSION
version 0.042
SYNOPSIS
use Games::Go::AGA::Parse::Exceptions
DESCRIPTION
Defines an exception class for Games::Go::AGA::Parse modules.
The class stringifies to the normal error message. If a file is associated with the exception, the file name and the current line number are also included in the stringified message.
Fields defined for this exception class are:
filename # if we know the filename
handle # if we have the file handle
line_number # if we know the line_number in the file
source # source string that caused error
The fields are optional, but they help to make the error message more informative. If the Games::Go::AGA::Parsers are created with filename and/or handle options (or if they are set with accessor methods after new), any exceptions thrown by the parser will include the 'filename' and/or 'handle' fields set appropriately.
Throw a parser exception like this:
Games::Go::AGA::Parse::Exception->throw(
error => 'What the heck just happened?',
source => 'line that caused the error',
filename => 'name of file, if known',
handle => 'file handle, if known',
line_number => $current_line_number,
);
Only error is strictly required. If handle is set, the exception will attempt to determine the line number by calling $handle->input_line_number. Otherwise the line_number field is used (if set).
NAME
Games::Go::AGA::Parse::Exceptions
SEE ALSO
AUTHOR
Reid Augustin <reid@hellosix.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Reid Augustin.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.