Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision abc355d2

Von Moritz Bunkus vor fast 8 Jahren hinzugefügt

  • ID abc355d2775cda30c745a277faf1307acb5a249b
  • Vorgänger e38b0b21
  • Nachfolger 70c5caeb

SL::DB: Exception nur dann mit >isa/>rethrow behandeln, wenn geblesstes Objekt

ref($error) gilt auch für z.B. geworfene Arrayreferenzen, welche aber
nicht geblesst sind, wodurch man auf ihnen keine Funktionen aufrufen kann.

Unterschiede anzeigen:

SL/DB.pm
7 7
use English qw(-no_match_vars);
8 8
use Rose::DB;
9 9
use Rose::DBx::Cache::Anywhere;
10
use Scalar::Util qw(blessed);
10 11

  
11 12
use base qw(Rose::DB);
12 13

  
......
138 139
      : $self->do_transaction(sub { $result = $code->(@args) });
139 140
  } or do {
140 141
    my $error = $self->error;
141
    if (ref $error) {
142
    if (blessed $error) {
142 143
      if ($error->isa('SL::X::DBError')) {
143 144
        # gobble the exception
144 145
      } else {

Auch abrufbar als: Unified diff