学习Python 各个击破之 异常 第二部分

我们在第一部分中有提到过一个关键字-- finally,但我一直没有写,为啥?

我们在第一部分中有提到过一个关键字— finally,但我一直没有写,为啥?
它为try 代码块中的代码定义结束操作,例如:

f=open('foo.txt','r')
try:
    # 做自己想做的事
finally:
    f.close()
    # 无论前面发生过什么,都会关闭文件

finally 子句不是用于捕捉错误的,相反,它用于提供一些代码,无论是否出现错误,都必须执行该段代码。
如果没有引发异常,finally字句中的代码将在try代码块中的代码执行完成之后立即执行。如果有异常,控制权先传递给finally自己的第一条语句。
这段代码执行完成后,将重新引发异常然后交由另一个异常处理程序进行处理。


参考文献

相关文章