我想知道执行此功能时为什么0
没有被打印出来:
def zeroDivision():
try:
try:
raise Exception("0")
finally:
result = 5/0
except Exception, e:
print e
我期待:
>>> zeroDivision()
0
integer division or modulo by zero
但我得到了:
>>> zeroDivision()
integer division or modulo by zero
答案 0 :(得分:6)
From the Python language reference:
如果
finally
子句引发另一个异常[在这种情况下为5/0
]或执行return或break语句,则丢弃已保存的异常[在本例中为Exception("0")
]