Python學習記錄八 異常

2022-09-12 02:33:12 字數 2464 閱讀 1345

異常

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官方文件的內容,中文內容總結...