自定義異常

有時(shí)候Python自定的異常不夠用或者是無(wú)法滿(mǎn)足我們的要求的時(shí)候,我們就需要自定義一個(gè)異常并且進(jìn)行拋出。

在講解如何做之前,我們首先要搞清楚Python的異常是如何劃分的。基本上就是分為兩類(lèi)

1.內(nèi)建異常,就是Python本身定義的異常

2.用戶(hù)自定義的異常

那么在開(kāi)始編寫(xiě)自定義的異常之前看看Python的異常繼承樹(shù),也就是要了解我們定義的異常是需要繼承自那個(gè)類(lèi)

可以看到所有常見(jiàn)的ImportError這些都是繼承自Exception這個(gè)類(lèi),所以我們自定義的異常也是需要繼承自這個(gè)類(lèi)

話(huà)不多說(shuō),直接給出自定義異常的定義以及拋出方式

自定義異常類(lèi)的模型

運(yùn)行輸出的結(jié)果是:

接下來(lái)以定義一個(gè)案例作為講解,這個(gè)案例要實(shí)現(xiàn)的功能是判斷用戶(hù)輸入的用戶(hù)名長(zhǎng)度是否滿(mǎn)足要求(定義長(zhǎng)度在4以?xún)?nèi))

首先還是一樣的自定義需要的異常類(lèi)型

自定義異常類(lèi)

對(duì)于它的拋出方式我們可以選擇是使用手動(dòng)拋出還是使用捕捉系統(tǒng)異常一樣的方式

1.手動(dòng)拋出

手動(dòng)拋出異常

運(yùn)行之后,可以看到結(jié)果:

輸入超過(guò)規(guī)定長(zhǎng)度的用戶(hù)名后拋出的異常

2.捕捉用戶(hù)手動(dòng)拋出的異常

捕捉自定義異常的方式

運(yùn)行之后的結(jié)果是

捕捉用戶(hù)拋出的異常結(jié)果

通過(guò)兩種方式的對(duì)比可以看到使用第二種方式會(huì)更加接近日常生活中我們所接觸到的異常拋出方式

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容