X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FError%2FDefault.pm;h=e554951a45403ea816587acf2f3d5c601f93c7a7;hb=55d05fb16429c2150b5337b1a0130ae334e129d0;hp=cd3421ba17820cb819039ad779e48d4db25e519b;hpb=c0e91e5f6d64984a080ffbffb28e7366c77dabb1;p=gitmo%2FMoose.git diff --git a/lib/Moose/Error/Default.pm b/lib/Moose/Error/Default.pm index cd3421b..e554951 100644 --- a/lib/Moose/Error/Default.pm +++ b/lib/Moose/Error/Default.pm @@ -3,14 +3,21 @@ package Moose::Error::Default; use strict; use warnings; +our $VERSION = '1.12'; +$VERSION = eval $VERSION; +our $AUTHORITY = 'cpan:STEVAN'; + +use Carp::Heavy; + + sub new { my ( $self, @args ) = @_; - $self->create_error_confess(@args); + $self->create_error_confess( @args ); } sub create_error_croak { my ( $self, @args ) = @_; - $self->_create_error_carpmess(@args); + $self->_create_error_carpmess( @args ); } sub create_error_confess { @@ -22,17 +29,15 @@ sub _create_error_carpmess { my ( $self, %args ) = @_; my $carp_level = 3 + ( $args{depth} || 1 ); - local $Carp::MaxArgNums = 20 - ; # default is 8, usually we use named args which gets messier though + local $Carp::MaxArgNums = 20; # default is 8, usually we use named args which gets messier though my @args = exists $args{message} ? $args{message} : (); if ( $args{longmess} || $Carp::Verbose ) { local $Carp::CarpLevel = ( $Carp::CarpLevel || 0 ) + $carp_level; return Carp::longmess(@args); - } - else { - return Carp::ret_summary( $carp_level, @args ); + } else { + return Carp::ret_summary($carp_level, @args); } }