Назад к задачам
Junior — Middle+
2

Создание декоратора с автоматическим повтором вызова при ошибке

Компании, где спрашивали:

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

Требуется написать декоратор, который будет выполнять повторные попытки вызова функции, если она бросает исключение. Ошибкой считается любой выброшенный Exception. Пример использования:

@retry(...)
def func(data: str) -> str:
    if random.random() > 0.5:
        raise ValueError(data)
    return data

Декоратор должен принимать параметры, позволяющие задать количество попыток и типы исключений, которые следует перехватывать.