PHPが出力するエラーメッセージ(ERROR、WARNING)を無視させたい
PHP (55 items)
2004年12月23日
エラー制御演算子「@」で可能。
エラー制御演算子
PHPは、エラー制御演算子(@)をサポートしています。PHPの式の前に付けた場合、その式により生成されたエラーメッセージは無視されます。
例えば、fopen関数でファイルオープンし、
ファイルが存在した場合のみ、ある処理を行いたい場合があるとする。
それ自体は、if文で制御すればいいのであるが、
ファイルがないことでfopenが出力するWARNINGメッセージ、
これを出力させたくない場合に、fopen関数に「@」を指定する事で、
WARNINGメッセージの出力を抑えることが出来る。
しかし、使用に際しては下記の点にも注意が必要である。
ファイルが存在した場合のみ、ある処理を行いたい場合があるとする。
それ自体は、if文で制御すればいいのであるが、
ファイルがないことでfopenが出力するWARNINGメッセージ、
これを出力させたくない場合に、fopen関数に「@」を指定する事で、
WARNINGメッセージの出力を抑えることが出来る。
■処理例
if ($fp=@fopen('text.txt', 'r')) {
〜処理〜
}
しかし、使用に際しては下記の点にも注意が必要である。
・警告
現在、誤差制御演算子プレフィックス"@"は、スクリプトの実行を終了するような致命的なエラーの出力さえ抑圧します。このため、ある関数のエラー出力を抑制するために"@"を使用した場合、その関数が利用できなかったり、ミスタイプがあった場合でも、原因を示すことなくその場所でスクリプトは終了してしまいます。
前の記事 次の記事