什么是異常
Python 用異常處理來(lái)表示異常情況阱飘。
事實(shí)上每個(gè)異常都是一些類的實(shí)例,可以被引發(fā)涕俗,也可以用很多方法進(jìn)行捕捉,并對(duì)其處理神帅。
引發(fā)異常
異吃俟茫可以自己引發(fā)
raise
語(yǔ)句
>>> raise Exception
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
Exception
>>> raise Exception("oh,error")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
Exception: oh,error
一些重要的內(nèi)建異常類:
類名 | 描述 |
---|---|
Exception | 所有異常的基類 |
AttributeError | 特性引用或賦值失敗時(shí)引發(fā) |
IOError | 試圖打開(kāi)不存在的文件時(shí)引發(fā) |
IndexError | 在使用序列中不存在的索引時(shí)引發(fā) |
keyError | 在使用映射中不存在的鍵時(shí)引發(fā) |
NameError | 在找不到名字(變量)時(shí)引發(fā) |
SyntaxError | 在代碼為錯(cuò)誤形式時(shí)引發(fā) |
TypeError | 在內(nèi)建操作或者函數(shù)應(yīng)用于錯(cuò)誤類型的對(duì)象時(shí)引發(fā) |
ValueError | 在內(nèi)建操作或者函數(shù)應(yīng)用于正確類型的對(duì)象,但是該對(duì)象使用不合適的值時(shí)引發(fā) |
ZeroDivisionError | 在除法或者模除操作的第二個(gè)參數(shù)為0時(shí)引發(fā) |
自定義異常類
和其他類一樣找御,只要確保從Exception
類繼承元镀。
class SomeCustomException(Exception): pass