14.11 データベースのエラーを処理する
自分のプログラムにおいて、データベースのエラーを捕捉して処理したい。
- データベースに接続するときに、RaiseErrorを有効にし、データベースに対する呼び出しをevalブロックの中に書く。
$dbh = DBI->connect($DSN, $user, $password, { RaiseError => 1 }); eval { $dbh->do($SQL); $sth = $dbh->prepare($SQL2); $sth->execute(); while (@row = $sth->fetchrow_array) { # ... } }; if ($@) { # $DBI::lasth->errstrを使用してエラーメッセージを取得し、 # エラーから回復するためのコードをこの部分に書く。 }