比方說,我有代碼是這樣的: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