您可以创建一个自定义错误处理程序来捕获E_NOTICE.
这是未经测试但应该朝着正确的方向:
- function myErrorHandler($errno,$errstr,$errfile,$errline)
- {
- if ($errno == E_USER_NOTICE)
- die ("Fatal notice");
- else
- return false; // Leave everything else to PHP's error handling
- }
然后,在输入函数时使用set_error_handler()
将其设置为新的自定义错误处理程序,并在离开时恢复PHP的错误处理程序:
- function some_function()
- {
- // Set your error handler
- $old_error_handler = set_error_handler("myErrorHandler");
- ... do your stuff ....
- // Restore old error handler
- set_error_handler($old_error_handler);
- }