PHP: можно ли возобновить блок try после исключения?

Предположим, у меня есть такие коды:

try{ doTaskA(); doTaskB(); doTaskC(); } catch(MyException $e){ fixMyException(); } 

Когда doTaskA () выбрасывает MyException, я хочу, чтобы программа проходила через fixMyException (), затем она возвращается и продолжает выполнение doTaskB () и doTaskC (). Является ли это возможным?

То же самое должно применяться к другим задачам, то есть все doTaskA / B / C () могут вызывать одно и то же исключение, и я хочу, чтобы программа могла перейти к незавершенным задачам каждый раз после выполнения функции fixMyException ().

Есть ли что-нибудь вроде функции «продолжить» или «возобновить» в обработке исключений?

Я проверил руководство PHP, но похоже, что такой структуры управления не существует. Если да, то в чем лучшая практика для разработки программы, которая может делать то, что я хочу? (Предположим, у меня более 10 задач внутри блока try).

 function do_all_tasks($position=0) { $tasks = array('doTaskA', 'doTaskB', 'doTaskC', ...); $size = count($tasks); for ($i=$position; $i<$size; ++$i) { try { $func = $tasks[$i]; $func(); } catch (Exception $e) { fixMyException(); do_all_tasks($i+1); }; } } do_all_tasks(); 
 try{ doTaskA(); } catch(MyException $e){ fixMyException(); } try{ doTaskB(); } catch(MyException $e){ fixMyException(); } try{ doTaskC(); } catch(MyException $e){ fixMyException(); } 

Как это иначе, чем делать

 try { doTaskA(); } catch (MyException $e) { fixMyException(); } try { doTaskB(); } catch (MyException $e) { fixMyException(); } try { doTaskC(); } catch (MyException $e) { fixMyException(); } 

Нет, это невозможно. Вам нужно будет поместить каждую из doTask*() в отдельный отдельный блок try-catch .