X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=dbsrgits%2FDBIx-Class.git;a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FInflateColumn%2FDateTime.pm;h=9d8c61b9bc09abc44dad1d439e82f455cf175783;hp=db899cb62c03f668662130fcc452bf8531bcb5e9;hb=ed7ab0f4ce1a9118ea6285ee562ef003085a6b64;hpb=7803e57ad8daee28020676140ea6894c31e3112e diff --git a/lib/DBIx/Class/InflateColumn/DateTime.pm b/lib/DBIx/Class/InflateColumn/DateTime.pm index db899cb..9d8c61b 100644 --- a/lib/DBIx/Class/InflateColumn/DateTime.pm +++ b/lib/DBIx/Class/InflateColumn/DateTime.pm @@ -4,6 +4,7 @@ use strict; use warnings; use base qw/DBIx::Class/; use Carp::Clan qw/^DBIx::Class/; +use Try::Tiny; =head1 NAME @@ -167,11 +168,12 @@ sub register_column { inflate => sub { my ($value, $obj) = @_; - my $dt = eval { $obj->_inflate_to_datetime( $value, \%info ) }; - if (my $err = $@ ) { + my ($dt, $err); + try { $dt = $obj->_inflate_to_datetime( $value, \%info ) } + catch {; return undef if ($undef_if_invalid); - $self->throw_exception ("Error while inflating ${value} for ${column} on ${self}: $err"); - } + $self->throw_exception ("Error while inflating ${value} for ${column} on ${self}: $_"); + }; return $obj->_post_inflate_datetime( $dt, \%info ); },