【发布时间】:2020-02-28 23:22:23
【问题描述】:
在我的脚本中有时会出现服务器、连接、配置或 API 问题,因此我实现了一个 try-catch 块来正确捕获异常并跳过它们。
...但是我的问题并没有用这个解决方案解决,因为元素(引发问题)不是问题本身。 所以基本上我的问题是是否有任何方法可以捕获错误并从您离开的地方继续:不跳过错误并转到下一个元素,而是在 foreach 循环中重复当前迭代。
显然,continue 和 break 不起作用!
foreach($xx as $x) {
try {
//main code
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
sleep(10);
}
}
... 当 catch 部分捕获错误时,代码应该使用当前的 $x 重复 try 循环(它最初在其上捕获错误/抛出错误),然后继续处理元素列表。
【问题讨论】:
-
将 try 块放入自己的
while (true)循环中,成功后您可以break。 -
您能进一步解释一下吗?您的解决方案应该是:while (true) { try { //main code } } 并在 catch 中休息一下?
-
@deceze 如果您使用代码语法提交答案可能会更好? :)
标签: php try-catch break continue