seansie's blog

例外處理

在程式執行中,總會遇到一些不可預期的錯誤,例如資料損毀,網路不通,或是使用者打錯字等等,這個時候總不能直接讓程式當機吧。

因此python提供了一個機制可以有效的處理這些錯誤,也就是例外處理,又名 try-except ,格式如下。

try:
	(1)
except 錯誤名稱:
	(2)
  • 區塊(1)請填入要嘗試(也就是可能會發生錯誤需要處理的程式碼)的程式碼
  • 區塊(2)是當 except 後面的填入的錯位出現時,要如何處理的程式碼,我把他叫做例外處理。

在執行期間,try中的程式碼(區塊1)會先被執行,若有發生符合 except的錯誤名稱之錯誤,就會執行except後面的例外處理的部分,來處理錯誤。

例子

以下程式以除法計算機爲例子,正常四則運算之下除數不得爲零,因此如果在 python 中執行該運算會發生 ZeroDivisionError 錯誤,因此會執行(2)的區塊,告訴使用者除數不得爲零。

try:
	c=(a/b) #區塊(1)
except ZeroDivisionError:
	print("除數不得爲0") #區塊(2)

print(c)

以下提供兩種執行結果,一種是沒有錯誤的,另一種是有錯誤(除以0)因此有執行到例外處理的部分的。

錯誤列表