PHP マニュアル
前のページ | 第 10章演算子 | 次のページ

# エラー制御演算子

PHPは、エラー制御演算子(@)をサポートしています。PHPの式の前に付け た場合、その式により生成されたエラーメッセージは無視されます。

track_errors機能が有効の場 合、式により生成されたエラーメッセージはグローバル変数 $php_errormsg に保存されます。この変数は、誤差発生の度に上書きされ、 このため、この変数を使用したい場合には速やかに確認する必要がありま す。

`<?php /* 意図的なエラー */ $my_file = @file ('non_existent_file') or die ("Failed opening file: error was '$php_errormsg'"); // この演算子は関数だけでなく、全ての式で動作します。 $value = @$cache[$key]; // インデックス $key が存在しない場合でも、警告を発生しません。 ?>`

> 注意: @演算子は、式 でのみ動作します。基本的なルールは次のようになります。 値を得ることができるものの場合、@演算子を前に付けることが可能です。 例えば、変数、関数、include()コール、定数等の 前にこの演算子をつけることが可能です。関数またはクラスの定義や `if`や`foreach`等のような条件構 造の前にこの演算子を付けることはできません。

error_reporting()と、 エラー処理とログ出力関数 も参照してください。

> 注意: パースエラーによるメッセージを@演算子で抑制することはできません。

警告
現在、誤差制御演算子プレフィックス"@"は、スクリプトの実行を終了す るような致命的なエラーの出力さえ抑圧します。このため、ある関数の エラー出力を抑制するために "@" を使用した場合、その関数が利用でき なかったり、ミスタイプがあった場合でも、原因を示すことなくその場 所でスクリプトは終了してしまいます。

前のページ | ホーム | 次のページ
比較演算子 | 上に戻る | 実行演算子