最後執行清理程式碼

有時,無論發生什麼異常,你都可能希望發生某些事情,例如,如果你需要清理一些資源。

無論是否引發任何例外,都會發生 try 子句的 finally 塊。

resource = allocate_some_expensive_resource()
try:
    do_stuff(resource)
except SomeException as e:
    log_error(e)
    raise  # re-raise the error
finally:
    free_expensive_resource(resource)

使用上下文管理器(使用 with 語句 ) 通常可以更好地處理此模式。