RaiseErrorをオフにできるように、スクリプトのいくつかのセクションでPerlのDBI HandleError属性を "オフ"にする方法はありますか?PERL - 特定のセクションでDBI HandleErrorを無効にする
例:
my $dbh = DBI->connect("DBI:SQLite:dbname=file.db","","",{ PrintError => 0, RaiseError => 0,
HandleError => sub{ Log("ERROR: Something failed in db"); exit 1 } })
or die "Couldn't connect";
for my $table (@db_tables){
$dbh->do("delete from $table")
or do{ Log("ERROR: Delete failed"); next };
Log("Table [$table] content was deleted");
}
exit 0;
ここで私は、これらのテーブルのいずれかの内容を削除することができなかったという理由だけでのHandleErrorは、スクリプトを殺すためにしたくありません。私は手動でエラーを処理したい。
Try :: Tinyを見て、そのセクションを "try"ブロックに入れることを検討してください。必要に応じて後で独自のエラー処理を追加できます。 – AKHolland