比方说,我有代码是这样的:PHP:异常被捕获后是否可以恢复try块?
try{
doTaskA();
doTaskB();
doTaskC();
} catch(MyException $e){
fixMyException();
}
当doTaskA()抛出MyException,我想要的程序要经过fixMyException(),然后返回并继续执行doTaskB()和doTaskC()。可能吗?
同样的事情应该适用于其他任务,即所有doTaskA/B/C()可能会抛出相同的异常,并且我希望程序可以在每次执行fixMyException()后继续执行未完成的任务。
在异常处理中有没有像“继续”或“恢复”功能的东西?
我检查了PHP手册,但似乎这样的控制结构不存在。如果是这样,设计可以做我想做的程序的最佳做法是什么? (假设我在try块中有超过10个任务)。
您似乎错过了这里的例外。一个例外是非常好的例外,它保证中断代码的执行(并跳过'try'块的其余部分)并转到异常处理程序。它不应该回去。 – NullUserException
好吧,我也不确定我是否应该在这里使用异常,我检查了其他语言的异常处理,发现除了VisualBASIC之外,大多数主流语言都不允许“异常后回去”。所以我要求最好的做法来做我想做的事情:尝试修复出错的地方并重新执行指令。我期望的不限于异常处理机制。 – LazNiko