| package # pretend this doesn't exist, because it shouldn't |
| # this intentionally exists to have a place to put this logic that doesn't |
| # involve loading Class::MOP, so... don't do that |
| sub _create_error_carpmess { |
| my $carp_level = 3 + ( $args{depth} || 0 ); |
| 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); |
| return Carp::ret_summary($carp_level, @args); |
| _create_error_carpmess(@_); |
| sub create_error_confess { |
| _create_error_carpmess(@_, longmess => 1); |
| if (defined $ENV{MOOSE_ERROR_STYLE} && $ENV{MOOSE_ERROR_STYLE} eq 'croak') { |
| create_error_confess(@_); |
| =for pod_coverage_needs_some_pod |