1 package Catalyst::Exception::Basic;
3 use MooseX::Role::WithOverloading;
5 use namespace::clean -except => 'meta';
7 with 'Catalyst::Exception::Interface';
12 default => sub { $! || '' },
17 return $self->message;
20 around BUILDARGS => sub {
21 my ($next, $class, @args) = @_;
22 if (@args == 1 && !ref $args[0]) {
23 @args = (message => $args[0]);
26 my $args = $class->$next(@args);
27 $args->{message} ||= $args->{error}
28 if exists $args->{error};
35 my $error = $class->new(@_);
36 local $Carp::CarpLevel = 1;