除了在python中嵌套的尝试

时间:2015-02-22 13:00:30

标签: python nested try-catch except

Try: 
     #some statement 
    Try: 
         #some statement 
    Except: 
         #statement1 
        Raise exception()
       #statement2 
Except: #some statement

我可以在python中像上面的代码一样传递控件。除了将控件传递到外部之外,内部除外并且#statement2会被执行吗?

1 个答案:

答案 0 :(得分:3)

此代码将回答您的问题:

#!/usr/bin/env python
import sys
try:
    try:
        raise Exception("first exception")
    except Exception as e:
        print e.message
        raise Exception("second exception")
        print "second statement" # never printed - 'dead code'
except Exception as e:
    print e.message

两个except块都被执行但是引发第二个异常后的语句不是。

一般情况下,您应该知道,一旦引发异常,就不会执行任何操作,直到它被与此异常或其任何超类相关的except块捕获。