【Python 3 錯誤與異常處理】

  • 2019 年 10 月 4 日
  • 筆記

語法錯誤

Python 的語法錯誤或者稱之為解析錯,如下實例:

for i in range(0,100)      print(i)

程式運行出錯:

for語句結尾少了一個冒號

語法分析器指出了出錯的一行,並且在最先找到的錯誤的位置標記了底色

異常定義

即便Python程式的語法是正確的,在運行它的時候,也有可能發生錯誤。運行期檢測到的錯誤被稱為異常。

大多數的異常都不會被程式處理,都以錯誤資訊的形式展現在這裡:

a = '3'  b = 0  c = a + b  print(c)  

程式運行會拋出異常:

異常處理

通過try……except:語句進行異常處理:

try:    程式碼  except:    遇到異常處理程式碼

try語句按照如下方式工作;

  • 首先,執行try子句(在關鍵字try和關鍵字except之間的語句)
  • 如果沒有異常發生,忽略except子句,try子句執行後結束。
  • 如果在執行try子句的過程中發生了異常,那麼try子句餘下的部分將被忽略。如果異常的類型和 except 之後的名稱相符,那麼對應的except子句將被執行。最後執行 try 語句之後的程式碼。
  • 如果一個異常沒有與任何的except匹配,那麼這個異常將會傳遞給上層的try中。

一個 try 語句可能包含多個except子句,分別來處理不同的特定的異常。最多只有一個分支會被執行。

處理程式將只針對對應的try子句中的異常進行處理,而不是其他的 try 的處理程式中的異常。

try:      a = '3'      b = 0      c = a + b      print(c)  except:      print('字元型數據不能與整型數據進行加運算!')

程式運行結果:

異常處理對於程式的正常運行起到一個很重要的作用,如上例子,使用了try語句的異常程式碼,依舊能夠正常運轉,未使用的則會報錯。所以對於容易出現錯誤或者不知道會不會出錯的程式碼最好使用try語句,這樣能大大的提高程式的容錯性。try類用法遠不只這麼簡單,感興趣的小夥伴可深入研究。