php - set_error_handler的问题

时间:2011-05-17 00:06:11

标签: php

我正在尝试设置自定义着陆错误页面,如果有php errros,我正在使用:

function xhandler($number,$string,$file,$line,$context){
  include('/path/to/error_text_page.tpl');
  exit;
}
error_reporting(E_ALL ^ E_NOTICE);
set_error_handler('xhandler',E_ALL ^ E_NOTICE);

这不行,有人知道我做错了吗?

2 个答案:

答案 0 :(得分:1)

根据php.net并继续与Molle博士的回复:

  

以下错误类型不能   使用用户定义的函数处理:   E_ERROR,E_PARSE,E_CORE_ERROR,   E_CORE_WARNING,E_COMPILE_ERROR,   E_COMPILE_WARNING,以及大部分内容   E_STRICT在文件中引发了   调用set_error_handler()。

这可以解释你的问题。

答案 1 :(得分:0)

您需要知道并非set_error_handler可以处理每个错误类型,例如解析/致命错误。

尝试

trigger_error("Testing xhandler", E_USER_ERROR);

进行测试。