常見異常
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 傳入一個調用者不指望的值,即便值的類型是正確的
|
![](http://static.javashuo.com/static/loading.gif)
name = [1,2,3] try: print(name[5]) except IndexError as e: print("列表操做錯誤",e)
![](http://static.javashuo.com/static/loading.gif)
data = {'zhang':12} try: print(data['li']) except KeyError as e: print("沒有這個key",e) 沒有這個key 'li'
![](http://static.javashuo.com/static/loading.gif)
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("無論有沒有錯,都執行")
![](http://static.javashuo.com/static/loading.gif)
try: raise Exception('錯誤') except Exception as e: print(e)