異常捕獲:
1.異常捕獲
正常情況下程序出現(xiàn)異常翠忠,程序會(huì)直接崩潰狠半,不能接著往后執(zhí)行可缚。
異常捕獲就是為了讓程序出現(xiàn)異常的時(shí)候不崩潰,自己處理異常
2.異常捕獲
1)語(yǔ)法一: try-except(可以捕獲所有異常)
try:
代碼塊1
except:
代碼塊2
其他語(yǔ)句
執(zhí)行過程: 先執(zhí)行代碼塊1惶室,在執(zhí)行代碼塊1的過程中如果出現(xiàn)異常温自,程序不崩潰直接執(zhí)行代碼塊2玄货。
如果沒有出現(xiàn)異常,不執(zhí)行代碼塊2直接執(zhí)行其他語(yǔ)句
————————————————————————————
2)語(yǔ)法二:
try:
代碼段1
except 異常類型:
代碼段2
執(zhí)行過程: 先執(zhí)行代碼段1悼泌,如果在執(zhí)行代碼塊1的過程中出現(xiàn)異常松捉,檢查出現(xiàn)的異常類型是否和except后面的異常類型是否一致,
如果一致程序不崩潰馆里,直接執(zhí)行代碼段2惩坑;如果不一致,程序直接崩潰也拜。
如果沒有異常以舒,直接執(zhí)行后面其他語(yǔ)句
————————————————————————————
3)語(yǔ)法三:
try:
代碼段1
except (異常類型1,異常類型2,...):
代碼段2
————————————————————————————
4)語(yǔ)法四:
try:
代碼塊1
except 異常類型1:
代碼塊2
except 異常類型2:
代碼塊2
...
————————————————————————————
5)上面的四種結(jié)構(gòu)的最后都可以加上一個(gè)finally;不管try里面的代碼有沒有異常慢哈,異常有沒有被捕獲蔓钟,
finally后面的代碼都會(huì)執(zhí)行。 一般可以在這個(gè)地方做一些數(shù)據(jù)的保存和備份操作!
try:
代碼塊1
except:
代碼塊2
finally:
代碼塊3
拋出異常: 主動(dòng)讓程序崩潰:
- 語(yǔ)法:
raise 異常類型
注意:異常類型可以是系統(tǒng)自帶的卵贱,也可以是程序員自定義 (要求異常類型必須是Exception的子類)