最後執行清理程式碼
有時,無論發生什麼異常,你都可能希望發生某些事情,例如,如果你需要清理一些資源。
無論是否引發任何例外,都會發生 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
語句 ) 通常可以更好地處理此模式。