Назад к задачам
Junior — Senior
17

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

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

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

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

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