Как продолжить выполнение программы Python при ошибке в цикле FOR?
Нужно, чтобы при любой ошибке в любой из функций - выждать 5 сек и продолжить выполнение, не переходя на следующий цикл, с тем же ftid.
Сейчас, в случае ошибки, будет пропуск отработки функций с этим ftid.
Как сделать максимально правильно.
for ftid in range(begin_ftid, end_ftid):
try:
f1(ftid)
f2(ftid)
f3(ftid)
except Exception:
time.sleep(5)
pass
Я бы сделал так: программа работает пока очередь не пуста, в очередь складываются обьекты со следующими параметрами
I’d
Retrycount
Delay
Status
Если что пошло не так то в обработчике эксепшена ставится статус ошибки и уменьшается количество попыток. Ну и ставиться время через которое попробовать. Цикл бесконечный, но с условием выхода по окончании очереди или при 0 количестве повторов. Дополнительно можно добавить на каждую попытку сообщение об ошибке и при выходе отображать их.