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

Декоратор, автоматически пере вызывающий функцию после исключения

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

Создайте декоратор, который будет бесконечно повторять вызов функции, если при её исполнении возникнет исключение. Декоратор должен перехватывать любые исключения, выводить их (по желанию) и снова вызывать оригинальную функцию, пока она не завершится без ошибок.

@repeat_on_error
def my_func():
    # тело функции, которое может бросать исключения
    ...

Требования:

  • Декоратор не принимает дополнительных параметров.
  • При каждом возникновении исключения функция должна запускаться заново.
  • Цикл повторов продолжается бесконечно, пока функция не выполнится успешно.
  • При необходимости можно добавить логирование ошибки перед повторным запуском.