#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() Будет выполняться до тех пор, пока не будет введено числовое значение.
Комментариев нет:
Отправить комментарий