成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

python項目中出現(xiàn)上下文管理器異常如何解決-創(chuàng)新互聯(lián)

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

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

1、異常說明


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

2、參數(shù)

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

  • exc_type:異常類型

  • exc_val:異常值

  • exc_tb:異常的錯誤棧信息

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

3、異常實例

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

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

class File:
 def __enter__(self):
  return file_obj
 def __exit__(self, exc_type, exc_value, exc_tb):
  # with 退出時釋放文件資源
  file_obj.close()
  # 如果 with 內(nèi)有異常發(fā)生 拋出異常
  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

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

網(wǎng)站題目:python項目中出現(xiàn)上下文管理器異常如何解決-創(chuàng)新互聯(lián)
分享鏈接:http://jinyejixie.com/article6/cessog.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供用戶體驗全網(wǎng)營銷推廣、Google、靜態(tài)網(wǎng)站、品牌網(wǎng)站制作外貿(mào)建站

廣告

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

網(wǎng)站優(yōu)化排名
高州市| 天祝| 克什克腾旗| 大同县| 东乡| 琼结县| 琼结县| 兴业县| 广州市| 通州市| 上思县| 海盐县| 合阳县| 垣曲县| 监利县| 岳普湖县| 剑川县| 漠河县| 洪湖市| 仙桃市| 来宾市| 迭部县| 常州市| 富平县| 靖边县| 平罗县| 晋宁县| 南江县| 渑池县| 颍上县| 建宁县| 辽阳市| 积石山| 南充市| 安西县| 浦北县| 金华市| 澄江县| 赣榆县| 小金县| 舟山市|