I am using Catalyst::View::Mason and enjoy it - but I have noticed one flaw, if DBIx::Class throws an exception in one of my Mason components, the error won't be caught by Catalyst's standard stuff (wrapping in boxes and with extra info in debug mode, sending email or whatever I have configured in production mode).
Instead the exception is displayed directly to the user in the browser. The reason is this logic in Catalyst::View::Mason::process(): if (blessed($output) && $output->isa('HTML::Mason::Exception')) { ... do $c->error ... } ... $c->response->body($output); return 1; The problem is that when DBIx::Class dies, $output is an object, but of type DBIx::Class::Exception - so the error path isn't taken. One way to work around this, is to check on ref($output)=~/Exception/, but there might be a better way. Any ideas? Best regards, Adam -- Adam Sjøgren a...@novozymes.com _______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/