天天看點

異常對象|學習筆記

開發者學堂課程【Python 語言基礎 3:函數、面向對象、異常處理:異常對象】學習筆記,與課程緊密聯系,讓使用者快速學習知識。

課程位址:

https://developer.aliyun.com/learning/course/601/detail/8764

異常對象

目錄:

一、如何捕獲異常對象

二、捕獲異常對象示範

三、try 語句

當程式運作過程中出現異常以後,所有的異常資訊都會被儲存在一個專門的異常對象中,而異常傳播時,實際上就是異常對象抛給了調用處。如果 except 後跟着一個異常的類型,那麼隻會捕獲該類型的異常,比如:

ZeroDivisionError 類的對象用來表示除 0 異常

Nameerror 類的對象用來處理變量錯誤的異常

如果 except 後沒有任何内容,則此時會捕獲到所有異常, exception 是所有異常類的父類,相當于 except,是以如果 except 後跟着 exception,也會捕獲到所有異常。在異常類後面跟着 as xx 此時 xx 就是異常對象,但通常情況下沒有特别大的作用。運用 Finally 子句即無論是否出現異常,該子句都會執行,是以通常将必須執行的代碼放在 finally 子句中。

print(‘異常出現前’)

1=[]

Try:

#Print(c)

#1[10]

#1+’hollo’

Print(10/0)

Except NameError:

Print(‘出現NameError異常‘)

Except ZeroDivisionError:

Print(‘出現ZeroDivisionError異常’)

Except IndexError:

Print(‘出現IndexDivisionError異常’)

Except Exception as e:

Print(‘未知異常’,e,type(e))

Finally:

Print(‘無論是否出現異常,該子句都會執行’)

Print(‘異常出現後’)

将可能出錯的代碼放入到 try 語句中,如果代碼沒有錯誤,則會正常執行,如果出現錯誤,則會執行 except 子句中的代碼,通過這種方式處理異常,避免給因為一個異常導緻整個程式的終止。Try 語句如下:

Try:

代碼塊(可能出現錯誤的語句)

Except 異常類型 as 異常名:

代碼塊(出現錯誤以後的處理方式)

Else:

代碼塊(沒出錯時要執行的語句)

Finally:

代碼塊(該代碼塊總會執行)

其中 Try 語句是必須的,else 語句可有可無,except 和 finally 至少有一個即可。