Python3 錯誤和異常

Python 有兩種錯誤很容易辨認:語法錯誤和異常。
Python assert(斷言)用於判斷一個表達式,在表達式條件爲 false 的時候觸發異常。 在這裏插入圖片描述

異常處理

try/except

異常捕捉可以使用 try/except 語句
在這裏插入圖片描述
try 語句按照如下方式工作:

  • 首先,執行 try 子句(在關鍵字 try 和關鍵字 except 之間的語句)
  • 如果沒有異常發生,忽略 except 子句,try 子句執行後結束
  • 如果在執行 try 子句的過程中發生了異常,那麼 try 子句餘下的部分將被忽略。如果異常的類型和 except 之後的名稱相符,那麼對應的 except 子句將被執行
  • 如果一個異常沒有與任何的 excep 匹配,那麼這個異常將會傳遞給上層的 try 中
  • 一個 try 語句可能包含多個except子句,分別來處理不同的特定的異常。最多隻有一個分支會被執行
  • 處理程序將只針對對應的 try 子句中的異常進行處理,而不是其他的 try 的處理程序中的異常

一個except子句可以同時處理多個異常,這些異常將被放在一個括號裏成爲一個元組:

except (RuntimeError, TypeError, NameError):
    pass

最後一個except子句可以忽略異常的名稱,它將被當作通配符使用。你可以使用這種方法打印一個錯誤信息,然後再次把異常拋出。

try/except…else

try/except 語句還有一個可選的 else 子句,如果使用這個子句,那麼必須放在所有的 except 子句之後。 else 子句將在 try 子句沒有發生任何異常的時候執行
在這裏插入圖片描述
使用 else 子句比把所有的語句都放在 try 子句裏面要好,這樣可以避免一些意想不到,而 except 又無法捕獲的異常。

try-finally 語句

try-finally 語句無論是否發生異常都將執行最後的代碼
在這裏插入圖片描述

拋出異常

Python 使用 raise 語句拋出一個指定的異常,raise語法格式如下:

raise [Exception [, args [, traceback]]]

在這裏插入圖片描述

發佈了31 篇原創文章 · 獲贊 39 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章