X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FException.pm;h=75064830f360abb46d90d78e3c109b9f7a50f24b;hp=4959e4209e047c3127ade536d31cd0b3e9d9f9bb;hb=b007fcc611c8584b634e27a60ebfe5b6f518601a;hpb=0af1b40c4ce16ae21702b9989357d76ebcec2153 diff --git a/lib/Catalyst/Exception.pm b/lib/Catalyst/Exception.pm index 4959e42..7506483 100644 --- a/lib/Catalyst/Exception.pm +++ b/lib/Catalyst/Exception.pm @@ -2,12 +2,6 @@ package Catalyst::Exception; # XXX: See bottom of file for Exception implementation -package Catalyst::Exception::Base; - -use Moose; -use Carp; -use namespace::clean -except => 'meta'; - =head1 NAME Catalyst::Exception - Catalyst Exception Class @@ -32,31 +26,6 @@ This is the Catalyst Exception class. Throws a fatal exception. -=cut - -has message => ( - is => 'ro', - isa => 'Str', -); - -use overload q{""} => \&as_string; - -sub as_string { - my ($self) = @_; - return $self->message; -} - -sub throw { - my $class = shift; - my %params = @_ == 1 ? ( error => $_[0] ) : @_; - - my $message = $params{message} || $params{error} || $! || ''; - - local $Carp::CarpLevel = 1; - - croak($message); -} - =head2 meta Provided by Moose @@ -72,19 +41,30 @@ it under the same terms as Perl itself. =cut -Catalyst::Exception::Base->meta->make_immutable; - -package Catalyst::Exception; +{ + package Catalyst::Exception::Base; -use Moose; -use namespace::clean -except => 'meta'; + use Moose; + use namespace::clean -except => 'meta'; -use vars qw[$CATALYST_EXCEPTION_CLASS]; + with 'Catalyst::Exception::Basic'; -BEGIN { - extends($CATALYST_EXCEPTION_CLASS || 'Catalyst::Exception::Base'); + __PACKAGE__->meta->make_immutable; } -__PACKAGE__->meta->make_immutable; +{ + package Catalyst::Exception; + + use Moose; + use namespace::clean -except => 'meta'; + + use vars qw[$CATALYST_EXCEPTION_CLASS]; + + BEGIN { + extends($CATALYST_EXCEPTION_CLASS || 'Catalyst::Exception::Base'); + } + + __PACKAGE__->meta->make_immutable; +} 1;