关于   小悟志   栏目   标签   文章   归档   友链

   云上小悟  +  

Python异常处理中的else和finally

InfoTech / by: 麦新杰 / 发布:2017年1月17日 / 15次阅读 / 暂无评论
标签:我用Python   / 最后修改时间: 2017-01-17 10:48:28

InfoTech / 2017年1月17日 / 15次阅读 / 标签:我用Python  

拍拍贷
featured image

Python语言可能是最接近人类能够自然理解的编程语言,但是编程语言跟人类语言有个非常明显的区别,那就是灵活性。人类语言很灵活,怎么说对方都能够理解,语法什么的,在日常对话中并不重要;但是用编程语言写代码,就必须严格按照既定语法来书写,否则就是syntax error。本文总结Python语言在进行异常处理(使用try.....except......语句)时,所使用的else和finally的具体含义。

 

Python循环语句中的else分支一文中,简单提到了异常处理时的else,这里再详细总结:

1, else是异常处理时的一个可选分支;

2, 必须出现在所有except的分支之后;

3, 什么时候执行else分支:在try部分代码没有发生异常的时候;换言之,如果try部分发生了异常,就不再执行else分支;

 

异常处理中的finally分支与else不一样!

Python官方教程是这样解释的:

A finally clause is always executed before leaving the try statement, whether an exception has occurred or not. When an exception has occurred in the try clause and has not been handled by an except clause (or it has occurred in an except or else clause), it is re-raised after the finally clause has been executed. The finally clause is also executed “on the way out” when any other clause of the try statement is left via a break, continue or return statement.

麦新杰翻译:

finally分支总是会被执行,不管异常有没有发生。当异常在try部分发生,但是没有被except分支处理(或者在except或else分支发生),这个异常会在finally分支执行之后,被re-raised。当try部分有break,continue或者return语句时,finally一样会在离开try的时候被执行。

 

Python官方给了一个代码示例,可以用来理解else和finally的不同:

-- (*^-^*) --

本文链接:http://www.maixj.net/ict/python-else-finally-13963
云上小悟 麦新杰(QQ:1093023102)

《Python异常处理中的else和finally》暂无评论

电子邮件地址不会被公开。 必填项已用*标注


前一篇:
后一篇:

云上小悟独立博客网站文章内容,除非特别注明,全部都是原创(非原创请阅读本站版权声明),如需转载,请保留文章链接!原创文章更具个性,有些文字虽略显随意,但不影响个人思想表达。部分文章是我自己的笔记,为自己记录,总结和收藏,同时也分享给您!这是本博建设的出发点,希望您喜欢并得到您的支持!

©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有  备案号:苏ICP备14045477号-1  economists.cn的备案号:苏ICP备14045477号-3  
    联系我们

云上小悟,麦新杰的独立博客
网站二维码