"Exception"(例外)是一種程式碼在運作時出現錯誤或異常,
也許是因為語法錯誤、邏輯錯誤等等各種問題。
舉個例子:
下方程式碼為一個除法運算,當使用者把除數輸入0,
就出現發生錯誤以及出現錯誤訊息ZeroDivisionError
x = eval(input("請輸入被除數 x :"))
y = eval(input("請輸入除數 y :"))
z = x / y
print("x除以y的結果等於",z)
錯誤訊息又可分為多種類型:
接下來,我覺得講白了就是”防呆處理“
事先設想使用者不按流程走,會出問題的可能性,攔截起來做處理
效果大概會像這樣
基本架構為 try...except
更豐富的處理可以是 try...except...else...finally
當程式碼發生異常時,經過事先處理好,遇到例外時就不至於變成爆錯了。
except
可多個
try:
x = eval(input("請輸入被除數 x :"))
y = eval(input("請輸入除數 y :"))
z = x / y
except ZeroDivisionError:
print("除數不得為0")
except Exception as e1:
print(e1.args)
效果如下圖
try:
x = eval(input("請輸入被除數 x :"))
y = eval(input("請輸入除數 y :"))
z = x / y
except ZeroDivisionError:
print("除數不得為0")
except Exception as e1:
print(e1.args)
else:
print("經過檢查沒有發生例外,X除以Y結果為",z)
finally:
print("離開try...except")
效果如下圖