Avatar ·

Как запустить функцию заново, если выпадает исключение?

📁 функция, исключение, работа

Дана функция с исключением внутри. если исключение не выпадает, то функция работает дальше.

Как запустить функцию заново, если исключение выпадает?

Avatar ·

В коде:

  • try_repeat – декоратор, который повторяет вызов функции, если та выкинула исключение.
  • exception_func – функция, которая с вероятностью 50% выбросит исключение

Пример:

def try_repeat(func):    def wrapper(*args, **kwargs):        count = 10        while count:            try:                retu func(*args, **kwargs)            except Exception as e:                print('Error:', e)                count -= 1    retu wrapper@try_repeatdef exception_func():    import random    if random.randint(0, 1):        raise Exception('!!!')exception_func()

Войдите чтобы оставить ответ

Блоги