Tuesday, May 26, 2009

[정보공유] Perl DBI / CGI 에서 DBI의 에러처리

Perl DBI / CGI 에서 DBI의 에러처리

아무리 eval{} 로 감쌌어도 $@가 나오지 않았습니다.
다만, 로그파일에는 에러가 제대로 적혀 있었습니다.
이건, DBI의 에러가 warning이 되어 출력되고 있는 것이었습니다.
connect할 때, RaiseError를 사용하는 것을 깜빡하고 있었습니다.

my $dbh = DBI->connect(
'DBI:mysql:dbname', 'user', 'password',
{AutoCommit => 0, RaiseError => 1, PrintError => 0}
) || die;

이것으로 재대로 $@를 catch할 수 있었습니다.

No comments: