【发布时间】:2014-03-07 16:57:15
【问题描述】:
我读过这个帖子:php: catch exception and continue execution, is it possible?
每个答案都表明 try catch 将继续执行脚本。这是一个没有的例子:
try{ $load = @sys_getloadavg(); }
catch (Exception $e){ echo 'Couldn\'t find load average.<br>'; return false; }
我在 Windows 上的 xampp 上运行它,这可能是它出错的原因(当 @ 被删除时它会给出 Call to undefined function sys_getloadavg() 错误),但这不是问题所在。它可能是任何不存在、不受支持或失败的函数 - 我无法让脚本继续执行。
另一个例子是,如果尝试中存在语法错误,假设我包含了一个外部文件并将其解析为一个数组。这也会产生错误并停止执行。
是否有任何蛮力方法可以继续脚本运行,而不管尝试失败的原因是什么?
【问题讨论】:
-
旁注保存击键
echo "Couldn't find load average.<br>";;-) -
当你运行它时 /is/ 发生了什么?
-
它停止执行脚本的其余部分。不过,
try{}可能有什么不好的地方。我可以在try{}中有一整页代码,如果出错,它将停止执行而不是弹跳到捕获异常@VBCPP