Python 常用的異常類型

Python中的異常類型

轉自 http://blog.csdn.net/fcoolx/archive/2009/05/20/4202872.aspx

1、NameError:嘗試訪問一個未申明的變量
>>>  v
NameError: name 'v' is not defined

2、ZeroDivisionError:除數爲0
>>> v = 1/0
ZeroDivisionError: int division or modulo by zero

3、SyntaxError:語法錯誤
>>> int int
SyntaxError: invalid syntax (<pyshell#14>, line 1)

4、IndexError:索引超出範圍
>>> List = [2]
>>> List[3]
Traceback (most recent call last):
File "<pyshell#18>", line 1, in <module>
List[3]
IndexError: list index out of range

5、KeyError:字典關鍵字不存在
>>> Dic = {'1':'yes', '2':'no'}
>>> Dic['3']
Traceback (most recent call last):
File "<pyshell#20>", line 1, in <module>
Dic['3']
KeyError: '3'

6、IOError:輸入輸出錯誤
>>> f = open('abc')
IOError: [Errno 2] No such file or directory: 'abc'

7、AttributeError:訪問未知對象屬性
>>> class Worker:
def Work():
print("I am working")

>>> w = Worker()
>>> w.a
Traceback (most recent call last):
File "<pyshell#51>", line 1, in <module>
w.a
AttributeError: 'Worker' object has no attribute 'a'

8、ValueError:數值錯誤
>>> int('d')
Traceback (most recent call last):
File "<pyshell#54>", line 1, in <module>
int('d')
ValueError: invalid literal for int() with base 10: 'd'

9、TypeError:類型錯誤
>>> iStr = '22'
>>> iVal = 22
>>> obj = iStr + iVal;
Traceback (most recent call last):
File "<pyshell#68>", line 1, in <module>
obj = iStr + iVal;
TypeError: Can't convert 'int' object to str implicitly

10、AssertionError:斷言錯誤
>>> assert 1 != 1
Traceback (most recent call last):
File "<pyshell#70>", line 1, in <module>
assert 1 != 1
AssertionError


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章