PHP5再入門「例外処理の正しい利用について」

第28回PHP勉強会で表題の通りの発表をしてきました。
業務でPHP5を使う前に調査した内容を元に会場の方とやり取りをしながら進めていきました。
かなり時間をオーバーしてしまいましたが、色々な方から有益な指摘が頂けてよかったと思います。
なぜか株式会社ノッキングオンが会場の勉強会は体調が悪い事が多いんですが、なんとか持ち直しました。


以下、覚えている範囲での頂いた指摘です。

  • エラー処理の利用暦
    • trigger_errorの使用経験者は3割ほど
    • PEAR_Errorの使用経験者は半分以上
  • Exceptionの利用範囲に関して
    • フレームワークの提供する例外クラスを使う
    • Exceptionの派生クラスは作らない
    • Exceptionはあくまで復帰できないようなエラーに限るべき
    • トップレベルのExceptionはcatchしてはいけない。(RunTimeExceptionなどのような中間層を考慮)
    • RubyなどではトップレベルのExceptionはcatchしづらいようになっている
  • 例外のcatch漏れについて
    • IDEなどでcatchもれを検出できないだろうか
    • 漏れているだけならばエラーになるので検出できる
  • 未定義の例外について
    • 実行時の例外が事前に対策できないのは他の言語も変わらない
    • 未定義の例外を記述する事は対策できないだろうか?
    • 状況に応じてincludeされる場合もあるので難しそう