—##############################################################################
# $Date: 2009-07-22 10:19:39 -0700 (Wed, 22 Jul 2009) $
# $Author: clonezone $
# $Revision: 3435 $
##############################################################################
package
Perl::Critic::Exception::Fatal;
use
5.006001;
use
strict;
use
warnings;
our
$VERSION
=
'1.101_003'
;
#-----------------------------------------------------------------------------
use
Exception::Class (
'Perl::Critic::Exception::Fatal'
=> {
isa
=>
'Perl::Critic::Exception'
,
description
=>
'A problem that should cause Perl::Critic to stop running.'
,
},
);
#-----------------------------------------------------------------------------
sub
new {
my
(
$class
,
@args
) =
@_
;
my
$self
=
$class
->SUPER::new(
@args
);
$self
->show_trace(1);
return
$self
;
}
#-----------------------------------------------------------------------------
sub
full_message {
my
(
$self
) =
@_
;
return
$self
->short_class_name()
.
q{: }
.
$self
->description()
.
"\n\n"
.
$self
->message()
.
"\n\n"
.
gmtime
$self
->
time
()
.
"\n\n"
;
}
1;
__END__
#-----------------------------------------------------------------------------
=pod
=for stopwords
=head1 NAME
Perl::Critic::Exception::Fatal - A problem that should cause L<Perl::Critic|Perl::Critic> to stop running.
=head1 DESCRIPTION
Something went wrong and processing should not continue. You should
never specifically look for this exception or one of its subclasses.
Note: the constructor invokes L<Exception::Class/"show_trace"> to
force stack-traces to be included in the standard stringification.
This is an abstract class. It should never be instantiated.
=head1 INTERFACE SUPPORT
This is considered to be a public class. Any changes to its interface
will go through a deprecation cycle.
=head1 METHODS
=over
=item C<full_message()>
Overrides L<Exception::Class/"full_message"> to include extra
information.
=back
=head1 AUTHOR
Elliot Shank <perl@galumph.com>
=head1 COPYRIGHT
Copyright (c) 2007-2009 Elliot Shank. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the same terms as Perl itself. The full text of this license
can be found in the LICENSE file included with this module.
=cut
# Local Variables:
# mode: cperl
# cperl-indent-level: 4
# fill-column: 78
# indent-tabs-mode: nil
# c-indentation-style: bsd
# End:
# ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :