只有error level in PHP停止脚本但可以捕获和处理的必须使用trigger_error()函数触发才能触发?我指的是“E_USER_ERROR”错误级别。 “E_ERROR”错误只会暂停脚本,我不能像开发人员那样对此做任何事情。
答案 0 :(得分:7)
E_ERROR将简单地停止脚本。它意味着用于:
致命的运行时错误。这些表示无法恢复的错误,例如内存分配问题。停止执行脚本。
由于类似原因,您无法处理以下其他错误类型:
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)
您可以创建自己的错误处理并暂停脚本,并在发生错误时实际执行任何操作。
答案 3 :(得分:1)
不确定你在这里开车或尝试做什么,但如果你正在寻找一种“捕捉”并处理'错误'的方法 - 也许请查看exceptions。
来自PHP手册例外
可以抛出异常并捕获异常 (“抓住”)在PHP中。代码可能是 在一个试块中包围,到 促进捕捉潜力 例外。每次尝试都必须有 至少一个相应的捕获块。 可以使用多个catch块 捕捉不同类别的exeptions。 正常执行(没有例外时) 在try块中抛出,或者当a 捕获匹配抛出的异常 班级不存在)将继续 在最后一个捕获块定义之后 序列。可以抛出异常(或 在一个捕获区内重新抛出。