catching errors from BDI.pm

Started by Jeffreyalmost 26 years ago2 messagesgeneral
Jump to latest
#1Jeffrey
seesej@uswest.net

Hi,

I am having trouble catching errors from postgress. I am connecting to the
database via perl and DBI.pm The following will work

($dbh = DBI->connect("$dsn", "", "") ) or (print $DBI::errstr and exit());

But this wont (from deliberately spelled wrong)
($sth=$dbh->prepare("select * form tablename")) || (
# error
print "\nError".$dbh->errstr
# error
);

Actually it will work from a telnet prompt, but if I run this script in a
cgi, it writes the error to the error log instead of the standard out. It
does not execute the code inside the error comments.

Thank you for your help
Jeff Seese

#2Ed Loehr
eloehr@austin.rr.com
In reply to: Jeffrey (#1)
Re: catching errors from BDI.pm

IIRC, certain kinds of pg errors trigger exceptions that can only be caught
with an eval wrapper. Not sure, but the DBD::Pg module may just be
parroting the bail-out behavior of the backend.

Regards,
Ed Loehr

Jeffrey wrote:

Show quoted text

Hi,

I am having trouble catching errors from postgress. I am connecting to the
database via perl and DBI.pm The following will work

($dbh = DBI->connect("$dsn", "", "") ) or (print $DBI::errstr and exit());

But this wont (from deliberately spelled wrong)
($sth=$dbh->prepare("select * form tablename")) || (
# error
print "\nError".$dbh->errstr
# error
);

Actually it will work from a telnet prompt, but if I run this script in a
cgi, it writes the error to the error log instead of the standard out. It
does not execute the code inside the error comments.

Thank you for your help
Jeff Seese