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