前言
有時候python自帶異常不夠用茴迁,如同java,python也可以自定義異常蛾方,并且可以手動拋出。注意上陕,自定義異常只能由自己拋出桩砰。python解釋器是不知道用戶自定義異常是什么鬼的。
raise語句
主動拋出異常释簿。
格式:
主動拋出異常終止程序
raise 異常名稱('異常描述')
raise RuntimeError('testError')
image.png
主動拋出這個異常亚隅,并加以解釋。
自定義異常
python的異常分為兩種.
1庶溶、內(nèi)建異常煮纵,就是python自己定義的異常。
2偏螺、不夠用行疏,用戶自定義異常,
首先看看python的異常繼承樹
image.png
我們可以看到python的異常有個大基類套像。然后繼承的是Exception隘擎。所以我們自定義類也必須繼承Exception。
#最簡單的自定義異常
class FError(Exception):
pass
拋出異常凉夯、用try-except拋出
try:
raise FError("自定義異常")
except FError as e:
print(e)
image.png
在這里給一個簡單的自定義異常類模版货葬。
class CustomError(Exception):
def __init__(self,ErrorInfo):
super().__init__(self) #初始化父類
self.errorinfo=ErrorInfo
def __str__(self):
return self.errorinfo
if __name__ == '__main__':
try:
raise CustomError('客戶異常')
except CustomError as e:
print(e)
image.png