異常
python用異常物件(exception object)來表示異常情況。遇到錯誤後,會引發異常。如果異常物件並未被處理或捕捉,程式就會用所謂的回溯(traceback,一種錯誤資訊)終止執行。
1、raise語句
>>> raise exception
traceback (most recent call last):
file "", line 1, in
exception
>>> raise exception("error error error!")
traceback (most recent call last):
file "", line 1, in
exception: error error error!
2、重要的內建異常類:
exception : 所有異常的基類
attributeerror: 特性引用或賦值失敗時引發
ioerror: 試圖開啟不存在的檔案(包括其他情況)時引發
indexerror: 在使用序列中不存在的索引時引發
keyerror:在使用對映序列中不存在的鍵時引發
nameerror:在找不到名字(變數)時引發
syntaxerror:在**為錯誤形式時引發
typeerror:在內建操作或者函式應用於錯誤型別的物件時引發
valueerror:在內建操作或者函式應用於正確型別的物件, 但是該物件使用不合適的值時引發
zerodibivionerror:在除法或者模除操作的第二個引數為0時引發
3、自定義異常類
class subclas***ception(exception):pass
4、捕捉異常
使用 try/except
>>> try:
... x = input('enter the first number:')
... y = input('enter the second number:')
... print x/y
... except zerodivisionerror:
... print "the second number can't be zero!"
...
enter the first number:2
enter the second number:0
the second number can't be zero!
5、捕捉物件
try:
x = input('enter the first number:')
y = input('enter the second number:')
print x/y
except (zerodivisionerror, typeerror), e:
print e
# 執行輸出
enter the first number:4
enter the second number:'s'
unsupported operand type(s) for /: 'int' and 'str'
6、全部捕捉
try:
x = input('enter the first number:')
y = input('enter the second number:')
print x/y
except:
print "something was wrong"
7、try/except else:
else在沒有異常引發的情況下執行
try:
x = input('enter the first number:')
y = input('enter the second number:')
print x/y
except:
print "something was wrong"
else:
print "this is else"
# 執行後的輸出結果
enter the first number:3
enter the second number:2
1this is else
8、finally
可以用在可能異常後進行清理,和try聯合使用
try:
x = input('enter the first number:')
y = input('enter the second number:')
print x/y
except (zerodivisionerror, typeerror), e:
print e
else:
print "this is else"
finally:
print "this is finally"
python學習記錄(八)
0910 python異常 python用異常物件 exception object 來表示異常情況。遇到錯誤後。會引發異常。如果異常物件未被處理或捕捉,程式就會用所謂的回溯 traceback,一種錯誤資訊 終止執行 1 0 traceback most recent call last file...
Python學習筆記(八)異常
8異常 8.1什麼是異常 python用異常物件來表示異常情況。每乙個異常都是一些類的例項,這些例項可以被印發,並且可以用很多種方法進行捕捉並且對其進行處理,而不是讓整個程式失敗。8.2按自己的方式出錯 8.2.1raise語句 為了引發異常,可以使用乙個類 可以是exception的子類 或者例項...
Python學習筆記(八)異常
life is short,you need python bruce eckel environment 程式執行過程中可能碰到各種各樣的異常,如果未預設處理方式,程式將中斷執行。這裡記錄一些 python 中異常處理的內容。python 所有內建異常類參考python官方文件的內容,中文內容總結...