In the last few days I extracted some code buried in our interal Tools-repo into a distinct distribution. I added some tests and documentation, and a few hours ago Plack::Middleware::PrettyException hit CPAN.
Plack::Middleware::PrettyException allows you to use exceptions in your models (and also controllers, but they should be kept slim!) and have them rendered as JSON or nice-ish HTML with very little fuzz.
I won't repeat the hopefully helpful and not too boring docs here, so check them out here!