与 PostgreSQL 的 Perl DBI 连接不会因数据库错误而终止()

标签 perl postgresql error-handling

我习惯于 Perl 在 SQL 出错时“崩溃”我的脚本,但 Postgres 只是将错误提供给 Apache 错误日志并且脚本继续运行。调试代码的邪恶行为。

现在我已经问过 Google 的 Oracle,但要么我问错了问题,要么不太可能,我是唯一遇到这个问题的人。 ;)

简而言之:我希望 Postgres 具有与 MySQL 相同的故障行为,即“崩溃”脚本并注意 use CGI::Carp qw(fatalsToBrowser); 并告诉我错误的 SQL 语句。

如果重要的话,我正在使用旧的 DBI 在我的服务器上的 Ubuntu 10.04 上访问 PG-DB、Postgres 8.4 和 Perl 5.10.1。所有包均来自官方代表。

编辑: 多亏了 Richard Huxton,这个问题已经解决了,把解决方案留给其他人去寻找。

our $dbh = DBI->connect($DBUrl, $DBUser, $DBPass,{ RaiseError => 1}
           ) || die "Could not connect to database: $DBI::errstr";

最佳答案

确定您只需要在建立连接时设置 RaiseError 吗?

https://metacpan.org/module/DBI

关于与 PostgreSQL 的 Perl DBI 连接不会因数据库错误而终止(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13069873/

相关文章:

Java:如何处理错误的方法参数?

perl - 使用 Perl 打开文本文件并将其读入数组的最简单方法

postgresql - 我怎样才能得到最后10条记录

ruby - 是否有与 Perl 的 Data::Rmap 等效的 Ruby?

sql - 使用 SELECT CASE 创建函数

postgresql - hive 流式传输不起作用

javascript - 为什么这个基本的 Node.js 错误处理不起作用?

python中的php set_error_handler等效函数

perl - 如何在 Perl 中将日期转换为纪元时间?

perl - 如何写入 Perl 中的现有文件?