gpt4 book ai didi

Perl DBI-捕获错误

转载 作者:行者123 更新时间:2023-12-05 00:11:21 25 4
gpt4 key购买 nike

在Perl中捕获任何DBI错误的最佳方法是什么?例如,如果由于插入的值中包含非法字符而导致插入失败,那么如何使脚本不失败,但是如何捕获错误并进行适当处理。

我不想做“死”,因为我不想停止脚本的执行。

最佳答案

使用RaiseError=>1中的DBI->connect配置,并将对$dbh$sth的调用包装在try块中(TryCatchTry::Tiny是try块的良好实现)。

有关其他可用连接变量的更多信息,请参见the docs

例如:

use strict;
use warnings;

use DBI;
use Try::Tiny;

my $dbh = DBI->connect(
$your_dsn_here,
$user,
$password,
{
PrintError => 0,
PrintWarn => 1,
RaiseError => 1,
AutoCommit => 1,
}
);
try
{
# deliberate typo in query here
my $data = $dbh->selectall_arrayref('SOHW TABLES', {});
}
catch
{
warn "got dbi error: $_";
};

关于Perl DBI-捕获错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4822991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com