ログ日記

作業ログと日記とメモ

例外を使い分ける

どうやらExceptionがいっぱいあるみたいなので・・
いつの間にかExceptionの種類が増えてた - Do You PHP はてな

gotoみたいな使い方の部分、アプリのエラー、などで使い分けてみる。

<?php
...

try {
    if (!$vo = $dao->getVo($where))
        throw new ErrorException('db error');

    calcValue($vo); // LogicExceptionがthrowされる可能性あり

    if (!$dao->save($vo))
        throw new ErrorException('db error');

}catch (ErrorException $e){
    $dao->abort();
    return false;

}catch (LogicException $e){
    $dao->abort();
    trigger_error('bug!');
    return false;
}

例外をまともに使ったことがないので、こんな書き方をしていいのかどうかわからないし、そもそも組み込みの例外クラスを利用するもんなの?それともExceptionを拡張?という疑問もある・・。


取り敢えず
http://www.javainthebox.net/publication/200309JP32/exception.html
この辺をざっと読む。


やっぱりPHPで例外は・・という気分になるな。