def FancyDivide(list_of_numbers, index):
try:
try:
raise Exception("0")
finally:
denom = list_of_numbers[index]
for i in range(len(list_of_numbers)):
list_of_numbers[i] /= denom
except Exception, e:
print e
Когда функция называется, я получил следующий результат.Исключение, поднятое как в попытке, так и за исключением.
FancyDivide([0, 2, 4], 0)
integer division or modulo by zero
В коде try исключено исключение. В конце концов также есть исключение. Почему это так, что исключение в конечном итоге не было исключено в попытке.
Было поймано. Затем вы напечатали его. – BrenBarn
Я спрашиваю, почему исключение в блоке try не было обнаружено. Если он был пойман, то последний оператор печатает 0, а не «целочисленное деление или по модулю на ноль» – cryptomanic
, это то, что я прошу. Почему 0 не печатается. – cryptomanic