这个例外如何运作?

时间:2015-02-13 16:10:39

标签: python python-2.7 exception-handling

我想知道执行此功能时为什么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

1 个答案:

答案 0 :(得分:6)

From the Python language reference:

  

如果finally子句引发另一个异常[在这种情况下为5/0]或执行return或break语句,则丢弃已保存的异常[在本例中为Exception("0")]