- 什麼是異常檢測
異常就是程式執行時發生錯誤的訊號(在程式出現錯誤時,則會產生一個異常,若程式沒有處理它,則會丟擲該異常,程式的執行也隨之終止),在python中,錯誤觸發的異常如下
- 異常的種類
AttributeError 試圖訪問一個物件沒有的樹形,比如foo.x,但是foo沒有屬性x
IOError 輸入/輸出異常;基本上是無法開啟檔案
ImportError 無法引入模組或包;基本上是路徑問題或名稱錯誤
IndentationError 語法錯誤(的子類) ;程式碼沒有正確對齊
IndexError 下標索引超出序列邊界,比如當x只有三個元素,卻試圖訪問x[5]
KeyError 試圖訪問字典裡不存在的鍵
KeyboardInterrupt Ctrl+C被按下
NameError 使用一個還未被賦予物件的變數
SyntaxError Python程式碼非法,程式碼不能編譯(個人認為這是語法錯誤,寫錯了)
TypeError 傳入物件型別與要求的不符合
UnboundLocalError 試圖訪問一個還未被設定的區域性變數,基本上是由於另有一個同名的全域性變數,
導致你以為正在訪問它
ValueError 傳入一個呼叫者不期望的值,即使值的型別是正確的
點選檢視程式碼
while True:
try:
num1 = input('1輸入: ')
int(num1) # 主邏輯
num2 = input('2輸入: ')
int(num2) # 主邏輯
except Exception as e: # 這樣就可以捕捉萬能異常
print('出現錯誤,錯誤如下')
print(e)
continue
else:
break
finally:
print('不管有沒有異常,都會執行這段')
print('一切正常')