inflate => sub {
my ($value, $obj) = @_;
- my ($dt, $err);
- try { $dt = $obj->_inflate_to_datetime( $value, \%info ) }
- catch {
- $err = 1;
- if (! $undef_if_invalid) {
- $self->throw_exception ("Error while inflating ${value} for ${column} on ${self}: $_");
- }
- };
- return undef if $err;
-
- return $obj->_post_inflate_datetime( $dt, \%info );
+ my $dt = try
+ { $obj->_inflate_to_datetime( $value, \%info ) }
+ catch {
+ $self->throw_exception ("Error while inflating ${value} for ${column} on ${self}: $_")
+ unless $undef_if_invalid;
+ undef; # rv
+ };
+
+ return (defined $dt)
+ ? $obj->_post_inflate_datetime( $dt, \%info )
+ : undef
+ ;
},
deflate => sub {
my ($value, $obj) = @_;