携帯端末用Web制作バイブル 第2版 (ADVANCED WEB DESIGN BOOKS)

  4798111287
  http://www.amazon.co.jp/o/ASIN/4798111287/todaysnonsenc-22/ref=nosim/
  八木澤 知彦 (著)
  翔泳社; 第2版版
  ISBN: 4798111287
  2006/6/27
  2,940 円

本書は文字、絵文字、メール、電話の使い方から、画像、アニメ、動画、サウンド、CGI、アプリの作り方まで、i‐mode、EZweb、Vodafone live!の各3キャリアの特性に焦点をあてて徹底解説。携帯電話向けのWebコンテンツ制作者を悩ます、各キャリアごとの仕様の「違い」を紹介します。付録には、一覧できる最新の携帯端末ごとの「スペック早見表」、各キャリアごとで異なる「絵文字の一覧表」、「HTMLタグ辞典」が入っています。

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

  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