Python學習 異常

2021-10-14 07:21:31 字數 2353 閱讀 1892

異常可以描述為「它是因為程式出現了錯誤而在正常控制流以外採取的行為。」這個行為分為兩個階段:首先是引起異常發生錯誤,然後是採取措施處理階段。

開發人員在編寫程式時,難免會遇到錯誤。開發人員在編寫程式時需要分析這些可能會造成異常的情況,從而保證程式流暢且穩定執行,而在這種情況下異常捕獲與處理就成為避免程式崩潰的有效手段。合理地使用異常處理結構可以使程式具有更高的容錯率。

最重要的內建異常類:

exception-所有異常的基類

attrlbuteerror-特性引用或賦值失敗時引發

ioerror-試圖開啟不存在檔案(包括其他情況)時引發

indexerror-在使用序列中不存在的索引時引發

keyerror-在使用對映中不存在的鍵時引發

nameerror-在找不到名字(變數)時引發

syntaxerror-在**為錯誤形式時引發

typeerror-在內建操作或者函式應用於錯誤型別的物件時引發

valueerror-在內建操作或者函式應用於型別正確的物件,但是該物件的值不合適時引發

zerodivisionerror-在除法或者模除操作的第二個引數為0時引發

1.捕獲普通異常

2.捕獲多個異常

3.捕獲所有異常

如果想用一段**來捕捉所有異常,可以通過在except子句中不指明異常類來實現這一功能,從而捕獲所有異常。

4.萬能異常

為了丟擲異常,可以使用raise語句。

raise語句的基本語法格式為:

zerodivisionerror:

a =

1b =

0try

:print

(a/b)

#在這裡中斷了

except zerodivisionerror:

print

("被除數不能為0"

)finally

:print

("什麼都不執行"

)c =

3print

(c/a)

syntaxerror(語法錯誤):

if a ==

5#少了「:」

print(6

)

nameerror(變數未定義錯誤):

if a ==5:

print(6

)

attributeerror(屬性異常錯誤):

class

person

:def

__init__

(self)

: self.name =

none

print

(person.age)

indexerror(索引越界錯誤):

name =

["l"

,"z"

,"t"

]print

(name[0]

)print

(name[1]

)print

(name[2]

)print

(name[3]

)#越界

keyerror(關鍵字錯誤):

person =

print

(person[

"name"])

print

(person[

"age"])

print

(person[

"***"])

print

(person[

"beautiful"])

#沒有「beautiful」這個關鍵字

filenotfounderror(檔案不存在錯誤):

try

:file

=open

("text.txt"

)#我沒有這個檔案

except exception as e:

print

(e.__repr__(

))

這次就先寫到這兒吧,希望對大家有幫助。

python學習之異常

多個execpt捕獲異常 try x input enter the first number y input enter the second number print int x int y except zerodivisionerror print the second number can...

Python 異常 學習筆記

python 標準異常總結 try 和 try finally 語句 try 下面是檢測範圍,如發生異常停止在第乙個異常的位置 fh open testfile w fh.write 這是乙個測試檔案,用於測試異常 except oserror as reason 下面是出現異常後輸出的 print...

Python學習筆記 異常

1 異常概念 程式在執行是,如果python直譯器遇到乙個錯誤,會停止程式的執行,並且提示一些錯誤資訊,這就是異常 程式停止執行並且提示錯誤資訊這個動作,我們稱之為 丟擲 raise 異常 程式開發是,很難將所有的特殊情況都處理的面面俱到,通過一異常捕獲可以針對突發事件做集中的處理,從而保證程式的穩...