]> wagnertech.de Git - kivitendo-erp.git/blobdiff - SL/DB.pm
SL::DB: Exception nur dann mit ->isa/->rethrow behandeln, wenn geblesstes Objekt
[kivitendo-erp.git] / SL / DB.pm
index 40c8a9596a06541fd37a30d55df6542545ab08cb..29d0090ca2de1fe0e2bfde5d640ee92664a70fa7 100644 (file)
--- a/SL/DB.pm
+++ b/SL/DB.pm
@@ -7,6 +7,7 @@ use Data::Dumper;
 use English qw(-no_match_vars);
 use Rose::DB;
 use Rose::DBx::Cache::Anywhere;
+use Scalar::Util qw(blessed);
 
 use base qw(Rose::DB);
 
@@ -138,7 +139,7 @@ sub with_transaction {
       : $self->do_transaction(sub { $result = $code->(@args) });
   } or do {
     my $error = $self->error;
-    if (ref $error) {
+    if (blessed $error) {
       if ($error->isa('SL::X::DBError')) {
         # gobble the exception
       } else {