ref($error) gilt auch für z.B. geworfene Arrayreferenzen, welche aber
nicht geblesst sind, wodurch man auf ihnen keine Funktionen aufrufen kann.
use English qw(-no_match_vars);
use Rose::DB;
use Rose::DBx::Cache::Anywhere;
+use Scalar::Util qw(blessed);
use base qw(Rose::DB);
: $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 {