in reply to handling Carp errors ?

From the docs for IO::All, it looks like there are a couple of possibilities that might help you do what you want:

Update: after looking at the source, I think you are going to want to subclass throw:

sub throw { my $self = shift; require Carp; ; return &{$self->errors}(@_) if $self->errors; return Carp::confess(@_) if $self->_confess; return Carp::croak(@_); }