是否可能捕获包含文件上的致命错误php?

是否可能捕获包含文件上的致命错误php?,php,error-handling,include,Php,Error Handling,Include,如果文件中有致命错误,我想做的是,我不希望脚本停止执行 try { require "somethin.php" } catch(...) {} 请注意,这并不能回答发帖人的问题。丑陋的现实是,您无法从致命错误中恢复,但这适用于其他错误 默认情况下,require不会引发异常,而是触发错误 要让php抛出异常,您必须注册一个错误异常处理程序 你可以找到一个例子 但基本上是这样 function exception_error_handler($errno, $errstr, $errfile

如果文件中有致命错误,我想做的是,我不希望脚本停止执行

try { 
require "somethin.php"
} catch(...) {}
请注意,这并不能回答发帖人的问题。丑陋的现实是,您无法从致命错误中恢复,但这适用于其他错误

默认情况下,require不会引发异常,而是触发错误

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

你可以找到一个例子

但基本上是这样

function exception_error_handler($errno, $errstr, $errfile, $errline ) {
    throw new ErrorException($errstr, $errno, 0, $errfile, $errline);
}
set_error_handler("exception_error_handler");
有了这一点,就有可能捕捉并处理您认为合适的错误。

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

默认情况下,require不会引发异常,而是触发错误

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

你可以找到一个例子

但基本上是这样

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

有了这个功能,就有可能捕获并处理您认为合适的错误

不,实际上没有明智的方法来捕获不可捕获的错误;-PHP中的致命错误。因此,也没有理智的方法从中恢复过来。这是有道理的,因为这是一个致命的错误

基本上PHP所说的是:这是您不能/不应该尝试从中恢复的

请注意,对于致命错误也不起作用:


现在,如果您想在发生致命错误时执行某些操作,例如发送电子邮件通知您,您可能需要查看:

不,确实没有明智的方法来捕获不可跟踪;-PHP中的致命错误。因此,也没有理智的方法从中恢复过来。这是有道理的,因为这是一个致命的错误

基本上PHP所说的是:这是您不能/不应该尝试从中恢复的

请注意,对于致命错误也不起作用:



现在,如果你想在发生致命错误时做点什么,例如发送电子邮件通知你,你可能想调查一下:

你为什么不先尝试一下?公平地说,他可能确实尝试过,哈哈,你发现了吗?@DaveChen你说的可能是因为,他没有给出任何提示,无论他是否尝试过。那么,谁才是真正被审查的人呢?嗯。很遗憾,我读到了他那令人厌恶的评论。对我来说,我确实试过了,但仍然出错,因此得出结论,他在发帖前确实试过了。@DaveChen在So中提出的每一个问题都是这样,但OP没有说明他是否尝试过。我们应该自己为他们试一试吗?隐马尔可夫模型。。有趣。你为什么不先试试呢?公平地说,他可能确实试过,哈哈,你明白了吗?@DaveChen你这么说可能是因为,他没有给出任何暗示,不管他是否尝试过。那么,谁才是真正被审查的人呢?嗯。很遗憾,我读到了他那令人厌恶的评论。对我来说,我确实试过了,但仍然出错,因此得出结论,他在发帖前确实试过了。@DaveChen在So中提出的每一个问题都是这样,但OP没有说明他是否尝试过。我们应该自己为他们试一试吗?隐马尔可夫模型。。有趣。@DaveChen这是一种方法。。。我更喜欢这个,因为它只是对FileSystemEmit的一次点击。同样值得注意的是,这将导致几乎所有的php错误抛出异常。在我看来,这是一件好事,除了解析时间错误,比如语法错误?让所有的PHP错误/警告抛出异常,哦,天哪,这又像Java一样。这不会捕获致命错误,而这些错误本来就不应该被捕获。@PeeHaa埽 按照链接,阅读文档。这涉及到致命的威胁errors@DaveChen这是一种方法。。。我更喜欢这个,因为它只是对FileSystemEmit的一次点击。同样值得注意的是,这将导致几乎所有的php错误抛出异常。在我看来,这是一件好事,除了解析时间错误,比如语法错误?让所有的PHP错误/警告抛出异常,哦,天哪,这又像Java一样。这不会捕获致命错误,而这些错误本来就不应该被捕获。@PeeHaa埽 按照链接,阅读文档。这将处理致命错误+1我下面的解决方案,而有用的解决方案甚至不会抛出上面示例中给出的东西。+1让我感到自豪。尽管如此,我不知道你们在说什么:P那么什么是正确的做法。。。拒绝我的回答,或者只是在顶部横幅上写一条,说明它不能回答问题?@Orangepill将关闭它,因为它不是一个真正的问题。这个问题很好。。。这里没有op想要的答案。+1我下面的解决方案虽然有用,但我甚至不会抛出上面给出的例子。+1让我感到自豪。尽管如此,我不知道你们在说什么:P那么什么是正确的做法。。。拒绝我的回答,或者只是在顶部横幅上写一条,说明它不能回答问题?@Orangepill将关闭它,因为它不是一个真正的问题。这个问题很好。。。 只是没有一个op想要的答案。