KoudouBlogs

元警察官 / 現ITエンジニア 宅トレ発信

『Laravel』エラーハンドリングについて

アイキャッチ

エラーケース

  • 入力値の検査違反
  • データベースの整合性違反
  • 外部リソースへの接続障害

など

エラーが発生した時の処理(エラーハンドリング)

  • エラーレスポンスの送信
  • ログへの記録
  • メールでの通知

など

エラー表示

開発環境
  • 画面にエラー詳細が表示される
  • アプリケーションの情報が公開されてしまう
  • 本番環境など外部に公開する場合はまずい
エラー表示の設定
<?php
config/app.php
APP_DEBUG true //表示(開発環境)
APP_DEBUG false //非表示(本番環境)

エラーハンドリングの詳細

アプリケーションで発生したエラー

ハンドリング(catch)されなければAPP\Exceptions\Handlerクラスがハンドリングする

APP\Exceptions\Handlerクラス

reportメソッド

  • 例外をログに記録(クラス単位で記録対象外にすることも可能)

renderメソッド

  • エラー発生時のHTTPレスポンスもしくはエラーページ(ビューテンプレート)を出力する