аватар question@mail.ru · 01.01.1970 03:00

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

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

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

аватар answer@mail.ru · 01.01.1970 03:00

В коде:

  • 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()

Последние

Похожие