異常可以描述為「它是因為程式出現了錯誤而在正常控制流以外採取的行為。」這個行為分為兩個階段:首先是引起異常發生錯誤,然後是採取措施處理階段。
開發人員在編寫程式時,難免會遇到錯誤。開發人員在編寫程式時需要分析這些可能會造成異常的情況,從而保證程式流暢且穩定執行,而在這種情況下異常捕獲與處理就成為避免程式崩潰的有效手段。合理地使用異常處理結構可以使程式具有更高的容錯率。
最重要的內建異常類:
exception-所有異常的基類
attrlbuteerror-特性引用或賦值失敗時引發
ioerror-試圖開啟不存在檔案(包括其他情況)時引發
indexerror-在使用序列中不存在的索引時引發
keyerror-在使用對映中不存在的鍵時引發
nameerror-在找不到名字(變數)時引發
syntaxerror-在**為錯誤形式時引發
typeerror-在內建操作或者函式應用於錯誤型別的物件時引發
valueerror-在內建操作或者函式應用於型別正確的物件,但是該物件的值不合適時引發
zerodivisionerror-在除法或者模除操作的第二個引數為0時引發
1.捕獲普通異常
2.捕獲多個異常
3.捕獲所有異常
如果想用一段**來捕捉所有異常,可以通過在except子句中不指明異常類來實現這一功能,從而捕獲所有異常。
4.萬能異常
為了丟擲異常,可以使用raise語句。
raise語句的基本語法格式為:
zerodivisionerror:
syntaxerror(語法錯誤):a =
1b =
0try
(a/b)
#在這裡中斷了
except zerodivisionerror:
("被除數不能為0"
)finally
("什麼都不執行"
)c =
3print
(c/a)
nameerror(變數未定義錯誤):if a ==
5#少了「:」
print(6
)
attributeerror(屬性異常錯誤):if a ==5:
print(6
)
indexerror(索引越界錯誤):class
person
:def
__init__
(self)
: self.name =
none
(person.age)
keyerror(關鍵字錯誤):name =
["l"
,"z"
,"t"
(name[0]
(name[1]
(name[2]
(name[3]
)#越界
filenotfounderror(檔案不存在錯誤):person =
(person[
"name"])
(person[
"age"])
(person[
"***"])
(person[
"beautiful"])
#沒有「beautiful」這個關鍵字
這次就先寫到這兒吧,希望對大家有幫助。try
:file
=open
("text.txt"
)#我沒有這個檔案
except exception as e:
(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 異常 程式開發是,很難將所有的特殊情況都處理的面面俱到,通過一異常捕獲可以針對突發事件做集中的處理,從而保證程式的穩...