9.python異常處理

常見異常

 
1
2
3
4
5
6
7
8
9
10
11
12
13
AttributeError       試圖訪問一個對象沒有的樹形,好比foo.x,可是foo沒有屬性x
FileNotFoundError    輸入 / 輸出異常;基本上是沒法打開文件
ImportError          沒法引入模塊或包;基本上是路徑問題或名稱錯誤
IndentationError     語法錯誤(的子類) ;代碼沒有正確對齊
IndexError           下標索引超出序列邊界,好比當x只有三個元素,卻試圖訪問x[ 5 ]
KeyError             試圖訪問字典裏不存在的鍵
KeyboardInterrupt    Ctrl + C被按下
NameError            使用一個還未被賦予對象的變量
SyntaxError          Python代碼非法,代碼不能編譯(我的認爲這是語法錯誤,寫錯了)
TypeError            傳入對象類型與要求的不符合
UnboundLocalError    試圖訪問一個還未被設置的局部變量,基本上是因爲另有一個同名的全局變量,
                      致使你覺得正在訪問它
ValueError           傳入一個調用者不指望的值,即便值的類型是正確的
name = [1,2,3]
try:
    print(name[5])
except IndexError as e:
    print("列表操做錯誤",e)
IndexError
data = {'zhang':12}
try:
    print(data['li'])
except KeyError as e:
    print("沒有這個key",e)



沒有這個key 'li'
KeyError
try:
    open("tes.txt")

except (KeyError,IndexError) as e :
    print("沒有這個key",e)

except IndexError as e :
    print("列表操做錯誤",e)

except Exception as e:
    print("未知錯誤",e)

else:
    print("一切正常")

finally:
    print("無論有沒有錯,都執行")
異常結構
try:
    raise Exception('錯誤')
except Exception as e:
    print(e)
主動觸發異常
相關文章
相關標籤/搜索