[PHP-users 18012]Re: 配列にNULLしかない場合のエラー処理

Osamu Shigematsu m5issige @ mr.hitachi-medical.co.jp
2003年 9月 22日 (月) 10:35:03 JST


重松です。こんにちは。

> 実は質問した後にimplodeでできるじゃん、ってすぐ気付いたのですが、
> それよりもexit()の使い方に感動しました。
> (マニュアル見ていれば当たり前なんでしょうが。)
> 
> if ( ! strlen( implode( '', $a ) ) ) exit( 'error' );
> 
> いっつも下のようにして書いてました。
> 感動!一行でかけちゃうんですね。
> 
> if ( ! strlen( implode( '', $a ) ) ) {
>  echo( 'error' );
>  exit;
> }
> 
> 前にもdie()をソフト工房の近藤さんのページを見て知り、
> 同じように感動しました。

というか、exit() だの、die() などでエラーを処理するのは、「サンプルスク
リプト」だからであり、仕事として収めるものだとか、要するに、実際にネット
に詳しくないような人が使うものを作る場合、そんなヘボイ処理では、

	「なんかエラーとかいって止まりました」

といわれて、サポートが大変になって仕方ないのでは?

この ML にも時々出没しますが、ちゃんとエラーが表示されていても、英語だと
読まないで、「うまくいきません」的な痛い人もたまにいるのに、単なるエラー
だと、言わずもがなです。合掌。

PHP 4 では例外が使えないので、代わりに trigger_error() を使って、ユーザ
定義エラーを発生させてエラーハンドラで一括処理するのがスマートでしょう。
# PEAR (http://pear.php.net) を使うのも手です。

一行で書くとか、そういう「使う人に見えない」ことに気を配るよりも、もっと
別のことが大切では?

-- 
Osamu Shigematsu <m5issige @ mr.hitachi-medical.co.jp>



PHP-users メーリングリストの案内