您現在的位置是:首頁 > 遊戲

Python自定義異常類、with上下文管理與trackback模組

由 老羅觀社會永珍 發表于 遊戲2021-05-16
簡介語法格式with context_expr [ as var]:語句塊案例【注】檔案操作知識點也在後續學習中有專門篇章講解

所有異常類都繼承什麼類

【1】自定義異常類

再強大的語言也不可能包含所有的異常,所以Python提供給使用者

自定義異常類

的許可權。

Python自定義異常類、with上下文管理與trackback模組

自定義異常類一般都是執行時異常,通常繼承 Exception 或其子類即可。命名一般以 Error、Exception 為字尾。自定義異常由 raise 語句主動丟擲。

Python自定義異常類、with上下文管理與trackback模組

class

定義一個繼承

Exception

的異常類

AgeError

AgeError

中定義初始化函式和異常報錯資訊函式;

異常報錯資訊透過

return

返回。

【注】class定義類會在後續專門的篇章詳解。

看看執行效果:

Python自定義異常類、with上下文管理與trackback模組

【2】with上下文管理

在學習異常的結構後,我們得知finally塊中的程式碼不管異常是否發生都會被執行,執行完之後就釋放try塊中申請的資源。

Python提供來另外一種釋放資源的方法,那就是透過with上下文管理來實現。

該方式的優點在於:

它可以自動管理資源,在 with 程式碼塊執行完畢後自動還原進入該程式碼之前的現場或上下文。不論何種原因跳出 with 塊,不論是否有異常,總能保證資源正常釋放。極大地簡化了工作,在檔案操作、網路通訊相關的場合非常常用。

語法格式

with context_expr [ as var]:

語句塊

案例

Python自定義異常類、with上下文管理與trackback模組

【注】檔案操作知識點也在後續學習中有專門篇章講解。

【3】trackback模組

trackback模組用來列印異常資訊。

Python自定義異常類、with上下文管理與trackback模組

推薦文章