千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > python上下文管理器如何解決異常?

python上下文管理器如何解決異常?

來源:千鋒教育
發布人:xqq
時間: 2023-11-13 07:59:38 1699833578

python上下文管理器如何解決異常?

本文教程操作環境:windows7系統、Python3.9.1,DELLG3電腦。

1、異常說明

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

2、參數

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

exc_type:異常類型

exc_val:異常值

exc_tb:異常的錯誤棧信息

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

3、異常實例

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

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

classFile:

def__enter__(self):

returnfile_obj

def__exit__(self,exc_type,exc_value,exc_tb):

#with退出時釋放文件資源

file_obj.close()

#如果with內有異常發生拋出異常

ifexc_typeisnotNone:

raiseexception

以上就是python上下文管理器解決異常的方法,大家在學會后,也可以選擇這種方式來處理異常,會省去我們拋出異常的選擇,對于簡化工作是非常有效的。更多Python學習教程請關注IT培訓機構:千鋒教育。

tags: python培訓
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
永久免费中文字幕 | 亚洲性爱之日本精品视频 | 夜晚久久精品视频 | 中文字幕免费视频 | 亚洲性色高清在线丨 | 在线免费看永久AV片 |