Страницы

Поиск по вопросам

пятница, 20 декабря 2019 г.

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

#python


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


Ответы

Ответ 1



try_repeat -- декоратор, который повторяет вызов функции, если та выкинула исключение. exception_func -- функция, которая с вероятностью 50% выбросит исключение def try_repeat(func): def wrapper(*args, **kwargs): count = 10 while count: try: return func(*args, **kwargs) except Exception as e: print('Error:', e) count -= 1 return wrapper @try_repeat def exception_func(): import random if random.randint(0, 1): raise Exception('!!!') exception_func()

Ответ 2



u@net13:~> cat 000.py #!/usr/bin/env python3 def input_val(): try: a=int(input("Введите значение: ")) print (a) except ValueError: print ("Требуется ввести числовое значение") input_val() else: print ("Отлично!") input_val() Будет выполняться до тех пор, пока не будет введено числовое значение.

Комментариев нет:

Отправить комментарий