日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python上下文管理器如何解決異常?

本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。

創(chuàng)新互聯(lián)于2013年開始,先為江西等服務(wù)建站,江西等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為江西企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

1、異常說明

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

2、參數(shù)

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

exc_type:異常類型

exc_val:異常值

exc_tb:異常的錯誤棧信息

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

3、異常實例

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

之所以 with 能夠自動關(guān)閉文件資源,就是因為內(nèi)置的文件對象實現(xiàn)了上下文管理器協(xié)議,這個文件對象的 __enter__ 方法返回了文件句柄,并且在 __exit__ 中實現(xiàn)了文件資源的關(guān)閉,另外,當(dāng) 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

以上就是python上下文管理器解決異常的方法,大家在學(xué)會后,也可以選擇這種方式來處理異常,會省去我們拋出異常的選擇,對于簡化工作是非常有效的。


文章名稱:創(chuàng)新互聯(lián)Python教程:python上下文管理器如何解決異常?
轉(zhuǎn)載來于:http://www.5511xx.com/article/cdcsidh.html