1

如果文件中出现致命错误,我不想让脚本停止执行,这就是我想要做的事情

try { 
require "somethin.php"
} catch(...) {}

file_get_contents()有什么方法eval()可以解决吗

4

2 回答 2

7

注意 - 这不能回答发帖人的问题。丑陋的现实是您无法从致命错误中恢复,但这适用于其他错误

require 不会抛出异常,而是默认触发错误。

要让 php 抛出异常,您必须注册一个错误异常处理程序。

你可以在这里找到一个例子

但基本上它

function exception_error_handler($errno, $errstr, $errfile, $errline ) {
    throw new ErrorException($errstr, $errno, 0, $errfile, $errline);
}
set_error_handler("exception_error_handler");

有了这个,就可以捕捉并处理你认为合适的错误

于 2013-06-11T22:32:51.993 回答
6

不,真的没有理智的方法来捕捉(无法捕捉的;-))PHP 中的致命错误。因此,也没有理智的方法可以从中恢复。这是有道理的,因为这是一个致命错误。

基本上 PHP 的意思是:这是你不能/不应该尝试从中恢复的东西。

请注意,@Orangepill 的解决方案也不适用于致命错误:http ://codepad.org/4nzzYQSG

现在,如果您想在发生致命错误时做某事(例如,向您发送电子邮件以通知您),您可能需要查看:https ://stackoverflow.com/a/2146171/508666

于 2013-06-11T22:57:34.027 回答