try-except-finally
详细解释:
在 Python 中,finally 块的执行规则如下:
- finally 块总是会执行,无论 try 块中是否发生异常。
- 如果 finally 块中有 return 语句,它将覆盖 try 或 except 块中的 return 语句。
- 函数的返回值由最后执行的那个 return 语句决定。
def process_resource():
try:
return 'success' # 第1步:准备返回 'success'
except IOError:
return 'io_error' # 未执行,因为没有异常
finally:
return 'cleanup_done' # 第2步:覆盖之前的返回值
