😦

PHPのthrowableって

2023/04/10に公開

throwableとは

throw文でスロー可能なあらゆるオブジェクトが実装する基底インターフェイスです

抽象クラスとかではなく、インターフェースなので注意。
どんなメソッドが定義されているかは、公式をチェックしてみてください。

throwableでcatchには要注意

➡️ポケモン例外処理だから
※ 全ての例外を捕まえるような例外処理方法をポケモン例外処理と呼ぶ。らしい


ポケモン例外処理のデメリットは下記です。

  1. throwable =「全ての例外」その物なので、抽象的すぎる。
    例外の拾い方が広いほどコードの意図が読み取りづらい。

  2. 具体的に何が原因なのかを特定できなくなり、対応するのも大変。

ただ、どうしても全ての異常をcatchする必要などがある場合は、ThrowableでcatchするのもOKだと思います。

Discussion