try:
#statement 1
#statement 2
except Exception, err:
print err
pass
Run Code Online (Sandbox Code Playgroud)
这可能是非常微不足道的,但直到现在我才真正想过它,我发现自己无法回答以下问题:
如果在语句1中引发错误,是否会执行语句2?
在语句1和语句2都引发错误的情况下,Exception如何处理?在上面的代码中打印出哪个错误?都?
iCo*_*dez 10
你的两个问题的答案都是"不".
只要在try/except块中抛出错误,try就会立即退出该部件:
>>> try:
... 1/0
... print 'hi'
... except ZeroDivisionError, e:
... print 'error'
...
error
>>>
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,代码永远不会出现在这个print 'hi'部分,即使我except为它做了一个.
你可以在这里阅读更多.
来自Python文档:
如果在执行try子句期间发生异常,则跳过该子句的其余部分.然后,如果其类型匹配except关键字后面的异常,则执行except子句,然后在try语句之后继续执行.
因此,一旦发生错误,它就会跳到异常
http://docs.python.org/2/tutorial/errors.html
| 归档时间: |
|
| 查看次数: |
4164 次 |
| 最近记录: |