On 4 Aug 2010, at 10:06, Ton Voon wrote:
In general, it's better to test the return value from eval directly instead of depend on $...@. Something like:

my $has_exception;
eval { $c->state( $code->execute( $class, $c, @{ $c->req->args } ) || 0 ); 1; } || $has_exception++;
...
if ( $has_exception ) {

Or use the "eval {....; 1 } || do { my $msg = $@; ...};" style.

I did a bit of work in DBIx::Class where I changed all the eval statements to using Try::Tiny instead. Not sure if it got into trunk yet. A similar conversion here would work.

Branch to do that (Try::Tiny) entirely welcome, we already depend on it (via Moose).

Cheers
t0m


_______________________________________________
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/

Reply via email to