異常
1. 什麼是異常
程序在運行過程中報的錯誤就叫異常
當程序出現異常的時候程序直接結束,不會繼續執行後續代碼
2. 捕獲異常
讓程序出現異常的時候不崩潰,程序可以繼續執行
1) 什麼時候需要捕獲異常:
明知道某個位置可能出現異常,但是開發者又沒有辦法控制的時候
2) 怎麼捕獲:
語法1:
try:
代碼段1(需要捕獲異常的代碼)
except:
代碼段2(出現異常後對異常進行的處理)
其他語句
先執行代碼段1,如果出現異常,程序不崩潰,馬上執行代碼段2;執行完代碼段2再執行其他語句
如果代碼段1執行完畢沒有出現異常,不執行代碼段2,直接執行其他語句
語法2:
try:
代碼段1
except 異常類型:
代碼段2
其他語句
只捕獲指定的異常,出現非指定異常時,線程崩潰
語法3:
try:
代碼段1
except (異常類型1, 異常類型2, ...)
代碼段2
其他語句
捕獲多個異常,處理方式相同
語法4:
try:
代碼段1
except 異常類型1:
代碼段11
except 異常類型2:
代碼段22
except 異常類型3:
代碼段33
其他語句
捕獲多個異常,處理方式不同
3. 關鍵字finally
所有的異常捕獲結構最後可以添加一個finally
finally後面的代碼段,不管try中的代碼出現任何情況都會執行!
a. try中的代碼無異常
b. try中的代碼有異常且被捕獲到
c. try中的代碼有異常且沒有被捕獲到
ps: raise 異常 在面向對象裏講