婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python try except finally資源回收的實現

Python try except finally資源回收的實現

熱門標簽:外呼電信系統 上海企業外呼系統 熱門電銷機器人 okcc外呼系統怎么調速度 萬利達百貨商場地圖標注 電話機器人哪里有賣 河南虛擬外呼系統公司 惠州龍門400電話要怎么申請 智能機器人電銷神器

Python 異常處理機制還提供了一個 finally 語句,通常用來為 try 塊中的程序做掃尾清理工作。

注意,和 else 語句不同,finally 只要求和 try 搭配使用,而至于該結構中是否包含 except 以及 else,對于 finally 不是必須的(else 必須和 try except 搭配使用)。

在整個異常處理機制中,finally 語句的功能是:無論 try 塊是否發生異常,最終都要進入 finally 語句,并執行其中的代碼塊。

基于 finally 語句的這種特性,在某些情況下,當 try 塊中的程序打開了一些物理資源(文件、數據庫連接等)時,由于這些資源必須手動回收,而回收工作通常就放在 finally 塊中。

Python 垃圾回收機制,只能幫我們回收變量、類對象占用的內存,而無法自動完成類似關閉文件、數據庫連接等這些的工作。

讀者可能會問,回收這些物理資源,必須使用 finally 塊嗎?當然不是,但使用 finally 塊是比較好的選擇。首先,try 塊不適合做資源回收工作,因為一旦 try 塊中的某行代碼發生異常,則其后續的代碼將不會得到執行;其次 except 和 else 也不適合,它們都可能不會得到執行。而 finally 塊中的代碼,無論 try 塊是否發生異常,該塊中的代碼都會被執行。

舉個例子:

try:
  a = int(input("請輸入 a 的值:"))
  print(20/a)
except:
  print("發生異常!")
else:
  print("執行 else 塊中的代碼")  
finally :
  print("執行 finally 塊中的代碼")

運行此程序:
請輸入 a 的值:4
5.0
執行 else 塊中的代碼
執行 finally 塊中的代碼

可以看到,當 try 塊中代碼為發生異常時,except 塊不會執行,else 塊和 finally 塊中的代碼會被執行。

再次運行程序:
請輸入 a 的值:a
發生異常!
執行 finally 塊中的代碼

可以看到,當 try 塊中代碼發生異常時,except 塊得到執行,而 else 塊中的代碼將不執行,finally 塊中的代碼仍然會被執行。

finally 塊的強大還遠不止此,即便當 try 塊發生異常,且沒有合適和 except 處理異常時,finally 塊中的代碼也會得到執行。例如:

try:
  #發生異常
  print(20/0)
finally :
  print("執行 finally 塊中的代碼")

程序執行結果為:
執行 finally 塊中的代碼
Traceback (most recent call last):
  File "D:\python3.6\1.py", line 3, in module>
    print(20/0)
ZeroDivisionError: division by zero

可以看到,當 try 塊中代碼發生異常,導致程序崩潰時,在崩潰前 Python 解釋器也會執行 finally 塊中的代碼。

到此這篇關于Python try except finally資源回收的實現的文章就介紹到這了,更多相關Python try except finally  內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python中的錯誤和異常處理簡單操作示例【try-except用法】
  • python異常處理之try finally不報錯的原因
  • Python中的異常處理try/except/finally/raise用法分析
  • 對python中的try、except、finally 執行順序詳解
  • 簡單介紹Python中的try和finally和with方法
  • Python try-except-else-finally的具體使用

標簽:百色 周口 合肥 周口 淮安 綿陽 秦皇島 綏化

巨人網絡通訊聲明:本文標題《Python try except finally資源回收的實現》,本文關鍵詞  Python,try,except,finally,資源,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python try except finally資源回收的實現》相關的同類信息!
  • 本頁收集關于Python try except finally資源回收的實現的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 麻阳| 大足县| 安庆市| 门头沟区| 公安县| 特克斯县| 田林县| 皮山县| 澳门| 寿阳县| 庐江县| 南郑县| 常宁市| 安义县| 三台县| 仪陇县| 南宁市| 探索| 奉贤区| 蓝山县| 贵阳市| 澄城县| 衡山县| 东平县| 新竹县| 南木林县| 凌海市| 西吉县| 来凤县| 宁城县| 浦江县| 黎城县| 织金县| 唐山市| 绥化市| 曲阜市| 利川市| 邓州市| 瑞昌市| 宁陕县| 扎囊县|