bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

python項目中出現上下文管理器異常如何解決-創新互聯

python項目中出現上下文管理器異常如何解決?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

成都創新互聯公司服務項目包括玉門網站建設、玉門網站制作、玉門網頁制作以及玉門網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,玉門網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到玉門省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!

1、異常說明


異常可以在__exit__ 進行捕獲并由你自己決定如何處理,是拋出還是不拋出。在__exit__ 里返回 True(沒有return 就默認為 return False),就相當于告訴 Python解釋器,這個異常我們已經捕獲了,不需要再往外拋了。

2、參數

在 寫__exit__ 函數時,需要注意的事,它必須要有這三個參數:

  • exc_type:異常類型

  • exc_val:異常值

  • exc_tb:異常的錯誤棧信息

當主邏輯代碼沒有報異常時,這三個參數將都為None。

3、異常實例

如果我們需要對異常做特殊處理,就可以在這個方法中實現自定義邏輯。

之所以 with 能夠自動關閉文件資源,就是因為內置的文件對象實現了上下文管理器協議,這個文件對象的 __enter__ 方法返回了文件句柄,并且在 __exit__ 中實現了文件資源的關閉,另外,當 with 語法塊內有異常發生時,會拋出異常給調用者。

class File:
 def __enter__(self):
  return file_obj
 def __exit__(self, exc_type, exc_value, exc_tb):
  # with 退出時釋放文件資源
  file_obj.close()
  # 如果 with 內有異常發生 拋出異常
  if exc_type is not None:
   raise exception

在__exit__方法中處理異常實例擴展:

class File(object):
 def __init__(self, file_name, method):
  self.file_obj = open(file_name, method)
 def __enter__(self):
  return self.file_obj
 def __exit__(self, type, value, traceback):
  print("Exception has been handled")
  self.file_obj.close()
  return True
 
with File('demo.txt', 'w') as opened_file:
 opened_file.undefined_function()
 
# Output: Exception has been handled

關于python項目中出現上下文管理器異常如何解決問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創新互聯行業資訊頻道了解更多相關知識。

網站題目:python項目中出現上下文管理器異常如何解決-創新互聯
分享鏈接:http://vcdvsql.cn/article6/cessog.html

成都網站建設公司_創新互聯,為您提供用戶體驗、全網營銷推廣、Google、靜態網站品牌網站制作、外貿建站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站優化排名