-
PHPで Warningや Noticeをハンドリングして扱いやすくする
この記事は、以前のブログに投稿したものを微修正して再掲載したものです。初出は2011年4月です。 PHPでset_error_handler()って関数を使うと、WARNINGとか NOTICEなどが発生した時に例外を投げてくれるようになります。 参考にしたのはPHPマニュアルのユーザーコメント。 http://tr2.php.net/manual/ja/class.errorexception.php とかね。 処理ごとに WARNINGなどを監視するのはめんどくさいので、これ使って例外投げてもらって まとめて処理できるようになると楽だなと思っていたんだけど、逆に毎回例外が発生して使い勝手が悪くなってしまった。 っていうか、一番取りたいERRORは有無を言わさずプログラム停止するって仕様はどうなのよ? なんのための例外処理なんだろう? ERRORはしょうがないから諦めるとして、それ以外は ページ表示した後 WARNING何件 NOTICE何件、詳細はこうって感じで出せるようにならないかなぁ? と思ったところで、このハンドラ内部で throw するんじゃなくて、例外オブジェクトをコレクトするだけの処理にすればいいんじゃないかなと思ったので、実装してみました。
最近のコメント