I guess, Try::Lite is very useful in PSGI handler.
use Try::Lite; my $app = sub { try { main_handler(); } "MyApp::Exception::PermissionDenied" => sub { [403, ['Content-Type' => 'text/plain'], ['Forbidden']] }, "MyApp::Exception::NotFound" => sub { [404, ['Content-Type' => 'text/plain'], ['Not Found']] }, };
Awesome.