教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Python常見異常類型介紹

更新時間:2020年11月17日18時22分 來源:傳智播客 瀏覽次數(shù):

Python程序中最常見的錯誤為語法錯誤。語法錯誤又稱為解析錯誤,它是指開發(fā)人員編寫了不符合Python語法格式的代碼所引起的錯誤。含有語法錯誤的程序會拋出異常,無法運行。如下所示為一段包含語法問題的代碼:

while True
print("語法格式錯誤")

上述示例代碼中的循環(huán)語句后少了冒號(:),不符合Python的語法格式。因此語法分析器會檢測到錯誤。

在PyCharm中運行上述代碼后,錯誤信息會在結(jié)果輸出區(qū)進行顯示,具體如下:

File " D:/Python項目/異常.py ", line 1
while True
       ^
SyntaxError: invalid syntax

以上錯誤信息中包含了錯誤所在的行號、錯誤類型和具體信息,錯誤信息中使用小箭頭(^)指出語法錯誤的具體位置,方便開發(fā)人員快速地定位并修正。產(chǎn)生語法錯誤時引發(fā)的異常類型為SyntaxError。

一段語法格式正確的Python代碼在運行時產(chǎn)生的錯誤稱為異常。如果這些異常不被處理,程序默認的處理方式是直接崩潰。

程序運行時產(chǎn)生異常,示例如下:

for i in 3:
    print(i)

運行代碼,結(jié)果如下所示:

Traceback (most recent call last):
 File "D:/Python項目/異常.py", line 7, in <module>
  for i in 3:
TypeError: 'int' object is not iterable

上述語句沒有任何語法格式錯誤,但代碼執(zhí)行后出現(xiàn)TypeError異常,這是因為使用for循環(huán)對一個整數(shù)進行遍歷,而for循環(huán)不支持對整數(shù)類型的遍歷。

在Python中所有的異常均由類實現(xiàn),所有的異常類又繼承自BaseException類,程序運行時出現(xiàn)的異常大多繼承自Exception類。如圖1所示為Python中異常類的繼承關系。

Python異常

圖1 Python中異常類的繼承關系

因為SyntaxError、FileNotFoundError、NameError等常見異常均繼承自Exception類,所以本章主要對Exception類及其子類進行介紹,Exception中常見的子類及其描述如表1所示。

表1 Exception中常見的子類

類名 描述
SyntaxError 發(fā)生語法錯誤時引發(fā)
FileNotFoundError 未找到指定文件或目錄時引發(fā)
NameError 找不到指定名稱的變量時引發(fā)
ZeroDivisionError 除數(shù)為0時的異常
IndexError 當使用超出列表范圍的索引時引發(fā)
KeyError 當使用映射不存在的鍵時引發(fā)
AttributeError 當嘗試訪問未知對象屬性時引發(fā)
TypeError 當試圖在使用a類型的場合使用b類型時引發(fā)


猜你喜歡

Python異常處理 

Python模塊有哪些?怎么使用? 

python培訓課程 

0 分享到:
和我們在線交談!