【发布时间】:2019-11-18 10:11:02
【问题描述】:
我在 Perl 中使用 DBI 来访问 MySQL。
return DBI->connect('DBI:mysql:MyBase:localhost', 'user', 'pass');
…
my $query = $connection->prepare($command);
my $result = $query->execute();
$query->finish;
我希望能够不使用 die 或 try。我希望能够执行 MySQL 命令,然后在下一次调用时检查错误类型。
这可能吗?
【问题讨论】:
-
这是默认行为。您需要设置 RaiseError 以导致发生异常。强烈建议这样做,因为否则人们会像您一样编写代码而没有错误检查,没有它您必须检查每个调用,包括连接。
-
@Grinnz 这就是我想做的。但是“如何”检查错误?
-
附带说明,如果这是新代码,请考虑DBD::MariaDB;它是一个分支,可以避免 DBD::mysql 中由于 backcompat 而无法修复的问题(尽管名称如此,但它同时支持 MySQL 和 MariaDB)