Цель здесь - перехватить все ошибки, когда последовательность проверяется с помощью checked_f (seq).Я проверил эту программу, запустив checked_f ([]), checked_f ([1,2,3]) и т. Д. Программа отлавливает ошибки для каждого теста и отображает «carefree_f () вызвала известное исключение» за исключением этого теста checked_f ((1, 2), (2, 3)). Это выражение не выводит «carefree_f () вызвало известное исключение».
def checked_f(seq):
try:
return carefree_f(seq)
except TypeError:
print('carefree_f() raised a known exception')
return None
except ZeroDivisionError:
print('carefree_f() raised a known exception')
return None
except IndexError:
print('enter code here carefree_f() raised a known exception')
return None
except AttributeError:
print('carefree_f() raised a known exception')
return None
def carefree_f(seq):
(u, v) = seq.pop()
while seq:
(x, y) = seq.pop()
u += x
v += y
return u / v