Python异常处理的清理操作是什么?如何定义清理操作
在python异常处理中除了try/except语句可以进行异常处理之外,还有一个语句可以用来进行异常处理的清理操作。下文将介绍异常处理的清理操作是什么,一起看看吧。
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异常处理的清理操作是什么的全部内容了,希望对你有所帮助。