in reply to Perl Catalyst and DBIx::Class best practice question.

There is no need (90%+ of the time) for doing manual exception catching in Catalyst. It's already doing it for you. The debug screen is showing the caught (didn't crash the app) but unhandled (the code didn't bother to deal with them) errors.

In your end block if there were exceptions you'll find them stacked up in $c->error.

my @error = @{ $c->error }; # Add a new error. $c->error('Something bad happened'); # Clear the errors after doing something with them # like putting them in the stash for pretty printing # them in a template. $c->clear_errors() # This is equivalent to running $c->error(0);
There are a couple of Error handling packages to do some of the more repetitive mechanical parts of it and even do configured email alerts and such. Check the CPAN or the Cat list.