PEAR::setErrorHandling でエラー処理を行なう

comments(0) | trackback(0)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  PEAR パッケージのエラー処理ですが、よくあるパターンとしては以下のような書き方をすると思います。

$result = $mdb->query('SELECT * FROM table');
if (PEAR::isError($result)) {
    die($result->getMessage());
}


  エラー処理の数が少ない場合はこれでいいのですが、多くなってくると可読性が悪くなります。

  この場合、PEAR::setErrorHandling() を使うことで以下のように簡潔に書くことができます。

PEAR::setErrorHandling(PEAR_ERROR_DIE);

$mdb2->query('SELECT * FROM table');
// PEAR:isError() を使わなくていい


  この書き方は、マニュアルによると「PEAR_Error の生成時に、エラーメッセージが出力され、スクリプトが終了します。」ということになります。

  エラーが発生したら、ログを出力して終了したいという場合は、以下のようにコールバックを利用することができます。

PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'handleError');

function handleError($error)
{
    require_once 'Log.php';
    $log = &Log::singleton('file', 'error.log');
    $log->err($error->getMessage());
    exit('エラー');
}

$mdb2->query('SELECT * FROM table');


  PEAR パッケージをよく使う場合には便利です。

- PEAR::setErrorHandling()
  http://pear.php.net/manual/ja/core.pear.pear.seterrorhandling.php

タグ: [PHP]

この記事へのコメント

(コメントはありません)

この記事へのコメントを書く

名前:

メールアドレス (公開されません):

URL:

コメント (入力必須)

この記事へのトラックバック URL

http://cl.pocari.org/tb.php/2007-12-15-1

この記事へのトラックバック

(トラックバックはありません)