优草派  >   Python

Python异常处理的清理操作是什么?如何定义清理操作

罗西汉            来源:优草派

在python异常处理中除了try/except语句可以进行异常处理之外,还有一个语句可以用来进行异常处理的清理操作。下文将介绍异常处理的清理操作是什么,一起看看吧。

Python异常处理的清理操作是什么?如何定义清理操作

try语句还有一个可选子句,用于定义在所有情况下都必须要执行的清理操作,例如:

>>> try:
...     raise KeyboardInterrupt
... finally:
...     print('Goodbye, world!')

如果存在finally子句,则finally子句是try语句结束前执行的最后一项任务。不论try语句是否触发异常,都会执行finally子句,以下内容介绍了几种比较复杂的触发异常情景。

1.如果执行try子句期间触发了某个异常,则某个except子句应处理该异常。如果该异常没有except子句处理,在finally子句执行后会被重新触发。

2.except或else子句执行期间也会触发异常。同样,该异常会在finally子句执行之后被重新触发。

3.如果finally子句中包含break、continue或return等语句,异常将不会被重新引发。

4.如果执行try语句时遇到break,、continue或return语句,则finally子句在执行break、continue或return语句之前执行。

5.如果finally子句中包含return语句,则返回值来自finally子句的某个return语句的返回值,而不是来自try子句的return语句的返回值。

在实际应用程序中,finally子句对于释放外部资源(例如文件或者网络连接)非常有用,无论是否成功使用资源。

以上就是关于python异常处理的清理操作是什么的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行