PHPで例外(エラー)処理を行う方法

はじめに

初心者がPHPの勉強をしたのでアウトプットしていく。
とにかく最速でアプリを作るための勉強なので、作りたいものに特化したアウトプットになる。
今回はデータベースへの接続方法に必要となった例外処理について。

例外処理とは

例外処理とはプログラムを書く人が想定しているエラーに対しての対応をすること。
PHPを使用しデータベースへ接続する方法
上記記事でデータに接続したので、「接続できなかった場合」(エラー)を想定しコードを書く必要がある。
PHPでは上記のような例外(エラー)をExceptionクラスと表現する。

PHPの例外処理コード

try {
  // 例外が発生する可能性のあるコード
} catch (\Throwable $th) {
 // 例外が発生した場合に行う処理
}

データベース接続で試してみる

$user = "〇〇〇";
$pass = "●●●";
try {
 $dbh = new PDO('mysql:host=localhost;dbname=test;charset=utf8', $user, $pass);
 $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 $sql = "SELECT * FROM TABLENAME";
 $stmt = $dbh->query($sql);
 $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
 $dbh = null; // データベースとの接続終了をするコード
} catch (Exception $e) {
 echo 'エラー発生: ' . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8')';
 die(); // エラーが発生しているので、プログラムを終了するコード
}


上記のように記述することで、データベースに接続できなかった場合のエラーをチェックできるようになった。