【PHP】throwしたエラーをtry catchして処理続行

DBエラーとなったときにフレームワーク(framework)でエラーハンドルして独自のエラー画面を出力していたのを「予期せぬエラー」で処理続行できるようにしたメモ。

フレームワークではset_error_handlerを使って例外をthrowしているので、基本はこれをtry catchすればいい。

ただ注意しないといけないのが、例外処理のときにDBの接続を初期化しないと、次のクエリが実行できない。

この辺は使用しているO-Rマッピングライブラリ(DB接続ライブラリ)に依存するかな。

try {
  $db->save();
} catch (Exception $e) {
  $db->close();
  echo $e->getMessage();
}

イメージではこんな感じ。

コメント

このブログの人気の投稿

既存のディレクトリ(フォルダ)にgit cloneして上書きしたい

【.NET】DataGridViewを選択した際に背景色を変更しない

Can't open PID file /var/run/nginx.pid (yet?) after start: Too many levels of symbolic links