1 package Catalyst::Exception;
3 # XXX: See bottom of file for Exception implementation
5 package Catalyst::Exception::Base;
9 use namespace::clean -except => 'meta';
13 Catalyst::Exception - Catalyst Exception Class
17 Catalyst::Exception->throw( qq/Fatal exception/ );
23 This is the Catalyst Exception class.
27 =head2 throw( $message )
29 =head2 throw( message => $message )
31 =head2 throw( error => $error )
33 Throws a fatal exception.
42 use overload q{""} => \&as_string;
46 return $self->message;
51 my %params = @_ == 1 ? ( error => $_[0] ) : @_;
53 $params{message} = $params{message} || $params{error} || $! || '';
54 my $error = $class->new(%params);
56 local $Carp::CarpLevel = 1;
67 Catalyst Contributors, see Catalyst.pm
71 This library is free software. You can redistribute it and/or modify
72 it under the same terms as Perl itself.
76 Catalyst::Exception::Base->meta->make_immutable;
78 package Catalyst::Exception;
81 use namespace::clean -except => 'meta';
83 use vars qw[$CATALYST_EXCEPTION_CLASS];
86 extends($CATALYST_EXCEPTION_CLASS || 'Catalyst::Exception::Base');
89 __PACKAGE__->meta->make_immutable;