my $sth = $dbh1->prepare("insert into guff values (1,2,3)") or croak "prepare error" # dies here for me #### my $dbh = DBI->connect(... ,{RaiseError => 1}); do { local $SIG{__ERROR__} = \&my_handler; # database code }