玩蛇网提供最新Python编程技术信息以及Python资源下载!

except和finally可以同时在try中使用吗

try:
    1/0
except:
    print 'something wrong happened..'
finally:
    print 'it seems i cannot be with except'

除非是我对《python基础教程》上面这句话理解有问题,这段代码运行完全没有问题,求解惑。

可以肯定的回答能一起使用

先看下else的使用:

try:
    ...
exception:
    ...
else:
    ...

只有在try中没有发生任何异常,所有代码完全成功的情况下才会转入else

再看下finally:

finally是无论是否捕捉到异常都会执行的一句,finally 可以单独和try搭配,也可以和except,包括else一起配合使用

try: A
except MyException: B
else: C
finally: D

执行顺序可能为A-B-D或A-C-D finally 单独和try连用时,不是用来捕捉异常,常常是用来维持一致的行为。

当try范围中产生一个异常时,会立即跳转到finally,finally执行完毕后,会继续向上一层引发异常

参考:python 核心编程

简单理解就是无论try里的语句是否发生异常,最后都会去执行一遍finaly里面的内容。

这本书对应的python版本太老了。py2.4以前是不能一起用的,2.5+就可以了。

这种老的不更新的书跟《DIVE INTO PYTHON》一样,能不看就别看了,入门推荐《a byte of python》。

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd20127.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月23日 - 16时38分58秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules