i don't _think_ you can do that. The problem is that you
need a handle before you can access the 'HandleError'
attribute. You can't even set $DBI::errstr or $DBI::err.
There _might_ be a way of tricking Perl into 'reblessing'
an object, but i think you will have to settle for
something along the lines of:
{
my $db_h = DBI->connect(
$db_serverstr, $db_user, $db_pass,
{HandleError => sub {die "WHYYYY\n".shift(@_)} }
) or die "WHYYYY\n" . $DBI::errstr;
my $sth = $db_h->selectall_arrayref('
grab me stuff from that table
');
}
'HandleError' will be used for all subsequent errors.
UPDATE
'RaiseError' will not magically make this work - i
thought that it would at first, as well that you need to
turn 'PrintError' off, which you don't.
jeffa
L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)