#PDOとは?
PHP Data Objectsの略称で、PHP標準(5.1.0以降)のデータベース接続クラスのことです。
例外処理とは
予め例外が発生しそうな処理を予期し、発生したらスローという形で送られるのでキャッチで処理を行う。
try-catch
例外が発生するかもしれない処理をtryに記述する
例外が発生した場合の処理をcatchに記述する
if文との違い
if文 は条件分岐で、 try は例外時のアクションの規定です。
if でその時点での条件を調べて処理を分岐させます。
trueかfalseどちらに進んでも逐次的な動作(上から順に動く)です。
try-catchは後続の処理が継続不可となる事態が発生した場合は処理を中断させる。
コード例
function hogePDO()
{
try {
// PDOクラスのインスタンス化を実行しているがエラーが発生するかもしれない
return new PDO(DSN, DB_USER, DB_PASSWORD);
} catch (PDOException $e) {
// 指定されたデータベースへの接続に失敗した場合の処理
// PDOExceptionクラスがスローされる、それをキャッチする処理
// $eはPDOExceptionクラスをインスタンスした物
// $eからgetMessageメソッドを実行している
echo $e->getMessage();
exit();
}
}
備考
- Exception頭文字をとって「$e」とするのが慣習となっている