PHPエラー制御演算子
はじめに
PHPの場合@ シンボルはエラー制御演算子として定義されています。式の前にプレフィックスを付けると、実行中にPHPパーサーで発生したエラーはすべて抑制され、式は無視されます。
次のコードは、読み取り操作のために存在しないファイルを開こうとしますが、PHPパーサーは警告を報告します
例
<?php $fp=fopen("nosuchfile.txt","r"); echo "Hello World \n"; ?>
出力
以下の結果が表示されます
Hello World PHP Warning: fopen(nosuchfile.txt): failed to open stream: No such file or directory in /home/cg/root/1569997/main.php on line 2
fopen()式の前に@記号を付けると、エラーメッセージが抑制され、ステートメント自体は無視されます
例
<?php $fp=@fopen("nosuchfile.txt","r"); echo "Hello World"; ?>
出力
以下の結果が表示されます
Hello World
-
PHPのrestore_error_handler()関数
restore_error_handling()関数は、以前のエラーハンドラーを復元します。これは、set_error_handler()を使用してエラーハンドラー関数を変更した後、以前のエラーハンドラー(組み込み関数またはユーザー定義関数である可能性があります)に戻すために使用されます。 構文 restore_error_handler() パラメータ NA 戻る restore_error_handler()関数はTRUEを返します。 例 以下は例です- <?php function unserialize_handler($errno, $errstr) { &
-
PHPのuser_error()関数
user_error()関数は、PHPのtrigger_error()関数のエイリアスです。これは、ユーザーエラー条件をトリガーするために使用され、組み込みのエラーハンドラーと組み合わせて使用することも、新しいエラーハンドラーとして設定されたユーザー定義関数と組み合わせて使用することもできます。 構文 user_error(error_msg, error_type) パラメータ error_msg-エラーメッセージを指定します。長さは1024文字に制限されています。 error_type-このエラーメッセージのエラータイプを指定します。 考えられるエラーの種類は次の