エラー処理コードが実行されない理由を誰かが教えてくれませんか?
PHP コード
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->
<?php
//定义Error_Handler 函数
/** * 定义Error_Handler 函数
* * * @param $error_level 错误级别
* * @param $error_message 错误信息
* * @param $file 错误所在文件
* * @param $line 错误所在行数
* * */
//屏蔽程序中的错误
error_reporting (0);
set_error_handler("error_handler");
function error_handler ($error_level, $error_message, $file, $line) {
echo "11111111111";
}
myerror_method();
?>
ログイン後にコピー
上記のコードは、実行する必要がある未定義の関数 myerror_method() を呼び出しています。 me カスタム エラー処理関数 error_handler()
しかし、この文はエコー "11111111111" として実行されません。見てみるのを手伝ってください。ありがとうございます。
-----解決策--------------------------------存在しない関数を呼び出しています。これは致命的なエラーであり、スクリプトが直接終了します
変数が存在しない場合は、echo $sakdfhgkjad を呼び出します。カスタムエラー処理関数は通常は
ところで:
どうしても致命的なエラーの場合に呼び出すこともできますので、 register_shutdown_function 関数を試してください
------解決策---------php プログラムの実行には 2 つの段階があります
1. コンパイル前フェーズ: プログラム ファイルの構文解析を完了し、中間コードを生成します
2. 実行フェーズ: 中間コードを実行します
set_error_handler("error_handler");
実行フェーズでは
が実行されるため、プリコンパイルフェーズでのエラーを処理できません。
------解決策---------