skillup

技術ブログ

プログラミング全般

PHPの例外クラスについて

投稿日:

PHPの例外クラスについて今まで一方的にExceptionで受けており、それ自体は問題なさそうですが、

一応再度確認。

エラークラスの分類

例外処理について その2

Throwableに関して

上にあるように、Throwableが全ての上位クラスで、その下にErrorとExceptionがあり、try{}catch(Throwable )・・・のようなコードを書くとErrorクラスをキャッチしてしまうが、Errorクラスに関しては

  • エラーの範囲が広く、抽象的になる
  • 開発時点で潰しているべきエラー

といった意見もあり、try〜catchに関してはExceptionを使うことが一般的。

ただ、あえてそういったエラーも拾うのが意図ならcatchするのもありかも・・・・

Exceptionsに関して

できればこれを継承して独自の例外クラスを作り、throwした方がベター。

Exceptionsクラスをより具体化し、原因の判別をより迅速に行うため。

参考リンク

\Throwableをcatchしないで」と伝えていく

お前は PHP 7 における Fatal Error / Catchable Fatal Error / Error / ErrorException / Exception の違いを言えるか?

PHP) Exceptionエラー設計原則とアプリケーションへの導入

-プログラミング全般
-

執筆者:


comment

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

関連記事

no image

ファジープロジェクト対策 その2

前回に引き続き、大事だと思ったこと。一部単なるフレームワークの作り方的な内容になっているかも。 Contents1 テンプレート共通化2 バリデーション3 ログ出し4 異常系の処理5 新規プラグイン+ …

no image

例外・エラーに関する考察

えー今現在、設計の仕事をしていますが、今までいい加減だったエラーの処理を見直すいいきっかけになってます。 半年前にも同じような記事書いてますねー。苦手意識は変わらないようです・・(汗) 例外処理に関し …

no image

Encypter、Decrypeterについて

独自の鍵を使ってencrypt,decrptメソッドを実装したので、メモを。 Contents1 参考ソース2 encrypt,decrptの内部について3 base64エンコーディングについて 参考 …

no image

コーディングについての気づき

現在の現場でコーディング関連で勉強になっているポイントについてまとめてみようかと思います。 Contents1 自動化2 命名3 責務の分離4 その他 自動化 規約エラーなどなるべく自動化できるものは …

no image

画面の制御フローなど

複雑な帳票系アプリではよくあると思うのですが、ある入力値が複数の場所から影響を受けており、制御がなかなか難しいときなどがあります。 例として クリアボタンなどでクリアされる 他のプルダウンなどで影響を …

アーカイブ