溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python中的異常棧跟蹤與異常利用講解

發(fā)布時(shí)間:2021-09-01 20:28:52 來(lái)源:億速云 閱讀:194 作者:chen 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“python中的異常棧跟蹤與異常利用講解”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“python中的異常棧跟蹤與異常利用講解”吧!

一、異常棧的跟蹤

棧的特點(diǎn):先進(jìn)后出

異常的拋出,如果內(nèi)部的異常沒(méi)有被進(jìn)行處理,那么會(huì)從最內(nèi)部一個(gè)慢慢往外部傳遞異常。

如果內(nèi)部的異常已經(jīng)被捕獲且處理,那么內(nèi)部的異常就不會(huì)進(jìn)行傳遞了。

二、異常利用

我們?cè)谑褂米值涞臅r(shí)候,往往可能會(huì)出現(xiàn)調(diào)用的字典的關(guān)鍵詞并不存在的情況,那么直接就會(huì)報(bào)錯(cuò)了。我們以前會(huì)使用if語(yǔ)句進(jìn)行處理,來(lái)判斷每一個(gè)關(guān)鍵詞在調(diào)用之前,是否存在的判斷。

注意:python中大小寫是敏感的,要注意調(diào)用的時(shí)候,大小寫的正確性。

1.判斷鍵是否存在

原有判斷字典鍵值的方式,防止程序異常

#調(diào)用字典輸出,直接使用if語(yǔ)句進(jìn)行判斷

if "aa" in dic1:

    print(dic1["aa"])

else:

    print("關(guān)鍵詞不存在")

利用異常捕獲,來(lái)簡(jiǎn)化代碼。

try:

    print(dic1["aa"])

    print(dic1["BB"])

except KeyError:

    print("關(guān)鍵詞不存在,拋出異常")

2.判斷類方法是否存在

類的異常利用,老的模式下的類的屬性是否存在的判斷

mc=MyClass()

if(hasattr(MyClass,"abc")):

    mc.abc()

else:

    print("屬性不存在")

新式的類屬性調(diào)用的判斷

采用異常捕獲的情況來(lái)進(jìn)行

try:

    mc.abc()

    mc.defd()

except:

    print("屬性方法不存在")

三、總結(jié)強(qiáng)調(diào)

1.掌握異常棧的跟蹤。

2.掌握異常的利用,來(lái)優(yōu)化代碼,排除未知異常。

3.掌握try捕獲異常的基本形式。

4.所有異常捕獲后,拋出的異常,都是異常對(duì)象。

到此,相信大家對(duì)“python中的異常棧跟蹤與異常利用講解”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI