X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FException%2FBasic.pm;h=713bb5fcebbb4bdc40e463bd831e4d73250cd9ac;hb=163b3de6693e8c44dbe24cfc79cc3cf300610ed8;hp=7d963e804056edf922912bd4a4cc4e6314356cab;hpb=ede5238fd84cf5c03515d8b51792613a61c78f60;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Exception/Basic.pm b/lib/Catalyst/Exception/Basic.pm index 7d963e8..713bb5f 100644 --- a/lib/Catalyst/Exception/Basic.pm +++ b/lib/Catalyst/Exception/Basic.pm @@ -1,6 +1,6 @@ package Catalyst::Exception::Basic; -use Moose::Role; +use MooseX::Role::WithOverloading; use Carp; use namespace::clean -except => 'meta'; @@ -12,10 +12,6 @@ has message => ( default => sub { $! || '' }, ); -use overload - q{""} => \&as_string, - fallback => 1; - sub as_string { my ($self) = @_; return $self->message; @@ -47,3 +43,65 @@ sub rethrow { } 1; + +=head1 NAME + +Catalyst::Exception::Basic - Basic Catalyst Exception Role + +=head1 SYNOPSIS + + package My::Exception; + use Moose; + use namespace::clean -except => 'meta'; + + with 'Catalyst::Exception::Basic'; + + # Elsewhere.. + My::Exception->throw( qq/Fatal exception/ ); + +See also L and L. + +=head1 DESCRIPTION + +This is the basic Catalyst Exception role which implements all of +L. + +=head1 ATTRIBUTES + +=head2 message + +Holds the exception message. + +=head1 METHODS + +=head2 as_string + +Stringifies the exception's message attribute. +Called when the object is stringified by overloading. + +=head2 throw( $message ) + +=head2 throw( message => $message ) + +=head2 throw( error => $error ) + +Throws a fatal exception. + +=head2 rethrow( $exception ) + +Rethrows a caught exception. + +=head2 meta + +Provided by Moose + +=head1 AUTHORS + +Catalyst Contributors, see Catalyst.pm + +=head1 COPYRIGHT + +This library is free software. You can redistribute it and/or modify +it under the same terms as Perl itself. + +=cut