X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI.pm;h=846bcca96a0901bb477b8045d8a3bc8cd14be483;hb=461c7168e4cfe3bb59d0ef8b4b05a1b009f6b4ad;hp=45afefcfd2e7158b64bf46eb70be92fc92ea74bb;hpb=5efba7fcc89e113c60d78fa246a0217c405ea1fc;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Storage/DBI.pm b/lib/DBIx/Class/Storage/DBI.pm index 45afefc..846bcca 100644 --- a/lib/DBIx/Class/Storage/DBI.pm +++ b/lib/DBIx/Class/Storage/DBI.pm @@ -1075,7 +1075,16 @@ sub _server_info { $info = {}; - my $server_version = try { $self->_get_server_version }; + my $server_version; + try { + $server_version = $self->_get_server_version; + } + catch { + if ($self->{_in_determine_driver}) { + $self->throw_exception($_); + } + $server_version = undef; + }; if (defined $server_version) { $info->{dbms_version} = $server_version; @@ -1119,7 +1128,19 @@ sub _dbh_get_info { unless defined $info; } - return try { $self->_get_dbh->get_info($info) } || undef; + my $res; + + try { + $res = $self->_get_dbh->get_info($info); + } + catch { + if ($self->{_in_determine_driver}) { + $self->throw_exception($_); + } + $res = undef; + }; + + return $res; } sub _determine_driver {