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

コレクションの頻出処理に関して

PHPでコレクションを使っていますが、慣れると本当に便利ですね・・・まあforeachとかでグリグリやってもいいのですが、無駄にコードが長くなります。 自分がコレクションでよく使う再頻出のメソッドなど …

no image

フレームワークのマイナーバージョンチェンジの影響に関して

ここ1年ぐらいPHPのフレームワークはLaravelを使っていますが、マイナーバージョンの影響に悩まされることがたまにあります。 以前、遭遇した事象としてはログイン連携が急にできなくなりました。 La …

no image

サロゲートキーと主キーに関して

今までも何度か触れたサロゲートキーと主キーに関して。 今までの参考リンク 論理設計のグレーノウハウ サロゲートキー サロゲートキーに関して 主にシステム設計的な考察が多かったので、今回はユースケースか …

no image

浮動小数点に関して

金額計算なんかでfloatを使うと誤差が出るっていうのは基礎的な話ではありますが、背景知識を含めて理解しておこうと思ったのでメモります。 Contents1 float,doubleでの誤差2 金額の …

no image

命名規則について その2

リーダブルコードネタ第3段。 前回のエントリーに引き続き、名称の大切さについて Contents1 あいまいな名前はNG!1.1 限界値はmaxかminを使う1.2 範囲を指定するときはfirstとl …

アーカイブ