クラスは、作成する方法はあります、この1:PDO子オブジェクトの代わりにPDOExceptionの代わりにCustomExceptionをスローする方法はありますか?
class DB extends PDO {}
(記録のためにただ一つの方法(コンストラクタ)我々はコンストラクタにはパラメータを渡していないと我々は接続するよう親1を過負荷を有していますコンフィギュレーション・ファイル経由)
どのような場合には、このようなカスタムCustomException
投げることができ:$e
はPDOException
occurreのインスタンスであることを
throw new CustomException($e->getMessage(), 500, array($e->...));
をd、デフォルトのPDOException
の代わりに、try-catchブロック内のすべてのメソッドをラップする必要はありませんか?
この理由は何ですか? – Niko
@ニコ、長くてかなり退屈な話。私は、アプリケーションが投げようとしているすべての例外をカバーするべきである集中化されたCustomExceptionを持たなければならない。ただ信じてください。私は使用する前にPDOExceptionをCustomExceptionに変換しなければなりません。 PDOのエラーモードを通常のPHPエラーとして設定することはできず、通常の警告としてそれらをキャッチすることはできません。 – Shoe
ある時点ですべての例外をキャッチする必要がある場合は、そこに 'catch(Exception $ e)'だけを使用することを考えてください。それはPDOExceptionsとCustomExceptionsをキャッチします。 – Niko