PHP

PHPでのエラー処理・例外処理

投稿日:2016年11月4日 更新日:

1. PHPの例外クラス

PHPには以下の例外クラスが組み込まれています。

PHPの例外クラスツリー

参考

2. 例外クラスの使い分け

それぞれの例外クラスをどのように使い分ければよいのかというのは、なかなか難しいところです。

以下にまとめてみました。

例外クラスの使い分け

3. 独自アプリ用例外クラスの作成例と利用例

  • \Exception を継承したクラスと \RuntimeException を継承したクラスを作って使い分けると良い。
  • あとは、独自アプリ用例外インタフェースを用意して、それぞれのクラスで implements しておく。そうすることで、独自アプリから発生した例外を判別することができる。

例外クラスの作成例

interface MyAppException { }

class MyException extends \Exception implements MyAppException { }

class MyRuntimeException extends \RuntimeException implements MyAppException { }

例外クラスを捕捉する例

// トップレベルのエラーハンドラ
try {

} catch (MyAppException) {
  // 開発中のアプリから発生する例外はここで捕捉できる
} catch (\RuntimeException $e) {
  // その他の実行時例外はここで捕捉できる
  // 必要であればリソースの開放などを行う
} catch (\Exception $e) {
  // その他の例外はここで捕捉できるが、捕捉する必要はないかもしれない
  // 必要であればリソースの開放などを行う
}

PHP でどのように Exception/RuntimeException/LogicException を使い分けるか – Qiita を参考にしました。

4. 資料

📂-PHP
-,

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

PHP

PHP: ob_start() 関数によるバッファリングの動作

PHP の ob_start() 関数によるバッファリングの動作について説明します。

PHP

CentOS 6.8 の PHPを 5.4 から 7 に変更する

PHPのバージョンがいまだに 5.4のままの CentOS 6.8 があったので PHP 7 に更新した;) 環境 この環境では、Nginx + FPM + PHP が動いている。 手順 まずは、関連 …

PHP

PHPって何ができるの?

「PHPって何ができるか?」を知るために、最小限の PHP を使った Webページが Webブラウザにどんなデータを返すのか? を見ていきます。 スポンサードリンク 目次1. この記事が前提としている …

PHP

画像ファイルの拡張子でないURLから 画像ファイルを返すPHPコードの例

ウェブブラウザで画像ファイルをダウンロードする場合、URL は https://example.com/foo/bar.png というように、末尾がそのファイル名になっていることが多いと思います。 こ …

Google App Engine

SendGrid でメール送信する(Google App Engine, PHP7)

Google App Engine (runtime: php72) の環境における、SendGrid を使ったメール送信方法について説明しています。