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=14cf555bc125735f4a908561be5c62de709b9453;hb=b007fcc611c8584b634e27a60ebfe5b6f518601a;hpb=0bf7ab7160f4f2fd0f00cd3d53ac311e9ad50241 diff --git a/lib/Catalyst/Exception.pm b/lib/Catalyst/Exception.pm index 14cf555..7506483 100644 --- a/lib/Catalyst/Exception.pm +++ b/lib/Catalyst/Exception.pm @@ -1,16 +1,6 @@ package Catalyst::Exception; -use strict; -use vars qw[@ISA $CATALYST_EXCEPTION_CLASS]; - -BEGIN { - push( @ISA, $CATALYST_EXCEPTION_CLASS || 'Catalyst::Exception::Base' ); -} - -package Catalyst::Exception::Base; - -use strict; -use Carp (); +# XXX: See bottom of file for Exception implementation =head1 NAME @@ -36,18 +26,9 @@ This is the Catalyst Exception class. Throws a fatal exception. -=cut - -sub throw { - my $class = shift; - my %params = @_ == 1 ? ( error => $_[0] ) : @_; - - my $message = $params{message} || $params{error} || $! || ''; +=head2 meta - local $Carp::CarpLevel = 1; - - Carp::croak($message); -} +Provided by Moose =head1 AUTHORS @@ -55,9 +36,35 @@ Catalyst Contributors, see Catalyst.pm =head1 COPYRIGHT -This program is free software, you can redistribute it and/or modify +This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself. =cut +{ + package Catalyst::Exception::Base; + + use Moose; + use namespace::clean -except => 'meta'; + + with 'Catalyst::Exception::Basic'; + + __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;