這篇文章主要介紹了Python異常處理總結,需要的朋友可以參考下本文較為詳細的羅列了Python常見的異常處理,供大家參考,具體如下: 1.入門讀物 2.進階讀物 3.Web框架 4.爬蟲開發 5.圖形圖像6.數據分析 7.機器學習等等資料!需要的可以加QQ群:832339352!進群免費獲取! 拋 ...
這篇文章主要介紹了Python異常處理總結,需要的朋友可以參考下
本文較為詳細的羅列了Python常見的異常處理,供大家參考,具體如下:
1.入門讀物 2.進階讀物 3.Web框架 4.爬蟲開發 5.圖形圖像
6.數據分析 7.機器學習等等資料!需要的可以加QQ群:832339352!進群免費獲取!
- 拋出異常和自定義異常
Python用異常對象(exception object)表示異常情況,遇到錯誤後,會引發異常。如果異常對象並未被處理或捕捉,程式就會用所謂的回溯(Traceback,一種錯誤信息)終止執行。
①.raise 語句
Python中的raise 關鍵字用於引發一個異常,基本上和C#和Java中的throw關鍵字相同,如下所示:

raise關鍵字後面是拋出是一個通用的異常類型(Exception),一般來說拋出的異常越詳細越好,Python在exceptions模塊內建了很多的異常類型,通過使用dir函數來查看exceptions中的異常類型,如下:

傳遞異常
捕捉到了異常,但是又想重新引發它(傳遞異常),可以使用不帶參數的raise語句即可:

②.自定義異常類型
Python中也可以自定義自己的特殊類型的異常,只需要要從Exception類繼承(直接或間接)即可:

2. 捕捉異常
和C#中的try/catch類似,Python中使用try/except關鍵字來捕捉異常,如下:

①.捕捉多個異常
在一個except語句只捕捉其後聲明的異常類型,如果可能會拋出的是其他類型的異常就需要再增加一個except語句了,或者也可以指定一個更通用的異常類型比如:Exception,如下:

為了捕獲多個異常,除了聲明多個except語句之外,還可以在一個except語句之後將多個異常作為元組列出來即可:

②.獲取異常信息
每個異常都會有一些異常信息,一般情況下我們應該把這些異常信息記錄下來:

3. finally子句
finally子句和try子句聯合使用但是和except語句不同,finally不管try子句內部是否有異常發生,都會執行finally子句內的代碼。所有一般情況下,finally自己常常用於關閉文件或者在Socket中。

1.入門讀物 2.進階讀物 3.Web框架 4.爬蟲開發 5.圖形圖像
6.數據分析 7.機器學習等等資料!需要的可以加QQ群:832339352!進群免費獲取!