Python3 自學第13天:異常處理,自定義異常

Python3 自學第13天:異常處理,自定義異常

前面我們瞭解了模塊與包管理以及Python解釋器,今天我們瞭解下Python的異常處理機制。

1. 什麼是錯誤,異常?

在前面的分享中我們已經見過一些異常錯誤,每種編程語言它都有一套對錯誤情況的分析捕獲機制。

錯誤分為語法錯誤和異常兩種

語法錯誤:一般是語法使用不規範引起的(不按套路來),語法分析器會幫我們指出來,比如:少個冒號,導入了不存在的模塊了。

異常:是在程序運行期間出現的錯誤,它並不一定會發生而是可能會發生。

對此我們就需要捕獲異常並進行相應的處理,保證我們程序的健壯性。如果你的代碼出現了異常,就會觸發異常處理機制,後面的代碼是不會被執行。

2. 常見的一些異常,如:

SyntaxError 語法異常

TypeError 類型異常

IndexError 索引異常

IOError IO異常

KeyError 鍵值異常

ValueError 類型轉換異常

AttributeError 屬性異常

ZeroDivisionError 除數為零異常

......

3.異常是怎麼處理,格式如下:

try:
# 代碼塊
except Exception as e:
# 異常處理
print(e)
else:
# 沒有異常
finally:
# 無論是否異常代碼都會執行。

實例代碼:

Python3 自學第13天:異常處理,自定義異常

上面的異常部分,我們還可以這樣寫:

Python3 自學第13天:異常處理,自定義異常

注意,對於多個具體異常類型,它的順序一般是先子類後基類。

Python解釋器會自動幫我們拋出這些異常,並打印出錯誤異常信息,同時程序會崩潰並退出。

這時我們可以根據提示的錯誤信息來定位、分析、找出問題,並完善我們的代碼。

對於異常的捕獲,解釋器會自動拋出異常,也可以使用raise關鍵字主動拋出異常,它再把異常拋給了Python解釋器,然後再具體處理。實例代碼:

Python3 自學第13天:異常處理,自定義異常

5. 自定義異常類

Python內置了非常多的異常類型,基本上都能滿足我們日常項目開發,但有時候我們也需要定製一些更具體的異常類型滿足業務需要。

如何來定製呢?

首先我們需要用到面向對象編程的類(後續會很快分享出來),同時繼承Exception基類,建議自定義類名以"Error"結尾。

異常類的定義,實例代碼:

Python3 自學第13天:異常處理,自定義異常

上面我們自定義了一個異常類型,下面我們就看下如何使用,實例代碼:

Python3 自學第13天:異常處理,自定義異常

有關Python的異常處理就瞭解到這裡,有什麼問題大家評論區留言;後面準備分享File 文件處理,以及面向對象,請大家多多關注和轉發哦!

上一篇:

【極客乾貨】從事IT行業十餘年,在移動互聯網開發,J2EE企業級開發,IOT物聯網,AI人工智能等方面有點技術積累,熟練使用C/C++,Java,Python等編程語言。從2009年開始接觸Python,後續借空閒時間將個人熟悉的技術乾貨系統性分享給大家,也許我的分享會讓你少走一些彎路,如果您覺得還可以,請多多關注,評論和轉發,非常感謝!


分享到:


相關文章: