PHP错误级别

时间:2009-09-25 23:10:18

标签: php

只有error level in PHP停止脚本但可以捕获和处理的必须使用trigger_error()函数触发才能触发?我指的是“E_USER_ERROR”错误级别。 “E_ERROR”错误只会暂停脚本,我不能像开发人员那样对此做任何事情。

4 个答案:

答案 0 :(得分:7)

E_ERROR将简单地停止脚本。它意味着用于:

  

致命的运行时错误。这些表示无法恢复的错误,例如内存分配问题。停止执行脚本。

Ref

由于类似原因,您无法处理以下其他错误类型:

  • E_PARSE
  • E_CORE_ERROR
  • E_CORE_WARNING
  • E_COMPILE_ERROR
  • E_COMPILE_WARNING

set_error_handler()但是可以处理以下错误:

答案 1 :(得分:3)

您可以使用关闭脚本

捕获E_ERROR

来自我的帖子http://jarofgreen.wordpress.com/2011/02/04/catching-php-errors/

register_shutdown_function(‘x’);
function x() {
$error = error_get_last();
if ($error) {
// deal with $error['file'],$error['line'],$error['message'],$error['type']
}
}

答案 2 :(得分:2)

您可以创建自己的错误处理并暂停脚本,并在发生错误时实际执行任何操作。

  

set_error_handler()

答案 3 :(得分:1)

不确定你在这里开车或尝试做什么,但如果你正在寻找一种“捕捉”并处理'错误'的方法 - 也许请查看exceptions

来自PHP手册例外

  

可以抛出异常并捕获异常   (“抓住”)在PHP中。代码可能是   在一个试块中包围,到   促进捕捉潜力   例外。每次尝试都必须有   至少一个相应的捕获块。   可以使用多个catch块   捕捉不同类别的exeptions。   正常执行(没有例外时)   在try块中抛出,或者当a   捕获匹配抛出的异常   班级不存在)将继续   在最后一个捕获块定义之后   序列。可以抛出异常(或   在一个捕获区内重新抛出。