| Catalyst-Runtime documentation | Contained in the Catalyst-Runtime distribution. |
Catalyst::Exception::Interface - Role defining the interface for Catalyst exceptions
package My::Catalyst::Like::Exception;
use Moose;
use namespace::clean -except => 'meta';
with 'Catalyst::Exception::Interface';
# This comprises the required interface.
sub as_string { 'the exception text for stringification' }
sub throw { shift; die @_ }
sub rethrow { shift; die @_ }
This is a role for the required interface for Catalyst exceptions.
It ensures that all exceptions follow the expected interface, and adds overloading for stringification when composed onto a class.
Note that if you compose this role onto another role, that role must use MooseX::Role::WithOverloading.
Provided by Moose
Catalyst Contributors, see Catalyst.pm
This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.
| Catalyst-Runtime documentation | Contained in the Catalyst-Runtime distribution. |
package Catalyst::Exception::Interface; use MooseX::Role::WithOverloading; use namespace::clean -except => 'meta'; use overload q{""} => sub { $_[0]->as_string }, fallback => 1; requires qw/as_string throw rethrow/; 1; __END__