PHP restore_error_handler() 函数

Example

在通过 set_error_handler() 函数更改错误处理函数之后对其进行恢复:

  1. <?php
  2. // 用户定义的错误处理函数
  3. function myErrorHandler($errno, $errstr, $errfile, $errline) {
  4. echo "<b>Custom error:</b> [$errno] $errstr<br>";
  5. echo " Error on line $errline in $errfile<br>";
  6. }
  7.  
  8. // 设置用户自定义的错误处理函数
  9. set_error_handler("myErrorHandler");
  10.  
  11. $test=2;
  12.  
  13. // 触发错误
  14. if ($test>1) {
  15. trigger_error("A custom error has been triggered");
  16. }
  17.  
  18. // 恢复之前的错误处理函数
  19. restore_error_handler();
  20.  
  21. // 再次触发错误
  22. if ($test>1) {
  23. trigger_error("A custom error has been triggered");
  24. }
  25. ?>

以上代码的输出类似这样:

  1. Custom error: [1024] A custom error has been triggered
  2. Error on line 14 in C:\webfolder\test.php
  3.  
  4. Notice: A custom error has been triggered in
  5. C:\webfolder\test.php on line 21

定义和用法

restore_error_handler() 函数恢复之前的错误处理程序。

在使用 set_error_handler() 改变错误处理函数之后,此函数可以用于还原之前的错误处理程序。

提示:之前的错误处理函数可以是内置的或者也可以是用户所定义的函数。

语法

  1. restore_error_handler();

技术细节

返回值: 始终返回 TRUE。
PHP 版本: 4.0.1+