Sobes.tech
Back to tasks
Junior — Senior
352

Декоратор с автоматическим повтором при исключении

Task condition

livecode

Создайте декоратор, который при возникновении ошибки будет пытаться выполнить оборачиваемую функцию ещё несколько раз. Количество попыток задаётся параметром декоратора. Если функция успешно отработает в течение этих попыток, необходимо вернуть её результат. Если же после всех попыток ошибка сохраняется, следует пробросить её дальше.

Пример использования:

@retry(times=3)
def unreliable_func():
    # код, который может бросить исключение
    ...