異常捕獲和拋出異常(day14總結)

異常捕獲:

1.異常捕獲

正常情況下程序出現(xiàn)異常,程序會直接崩潰,不能接著往后執(zhí)行。
異常捕獲就是為了讓程序出現(xiàn)異常的時候不崩潰,自己處理異常

2.異常捕獲

1)語法一: try-except(可以捕獲所有異常)
try:
代碼塊1
except:
代碼塊2

其他語句

執(zhí)行過程: 先執(zhí)行代碼塊1,在執(zhí)行代碼塊1的過程中如果出現(xiàn)異常,程序不崩潰直接執(zhí)行代碼塊2。
如果沒有出現(xiàn)異常,不執(zhí)行代碼塊2直接執(zhí)行其他語句
————————————————————————————
2)語法二:
try:
代碼段1
except 異常類型:
代碼段2

執(zhí)行過程: 先執(zhí)行代碼段1,如果在執(zhí)行代碼塊1的過程中出現(xiàn)異常,檢查出現(xiàn)的異常類型是否和except后面的異常類型是否一致,
如果一致程序不崩潰,直接執(zhí)行代碼段2;如果不一致,程序直接崩潰。
如果沒有異常,直接執(zhí)行后面其他語句
————————————————————————————
3)語法三:
try:
代碼段1
except (異常類型1,異常類型2,...):
代碼段2
————————————————————————————
4)語法四:
try:
代碼塊1
except 異常類型1:
代碼塊2
except 異常類型2:
代碼塊2
...
————————————————————————————
5)上面的四種結構的最后都可以加上一個finally;不管try里面的代碼有沒有異常,異常有沒有被捕獲,
finally后面的代碼都會執(zhí)行。 一般可以在這個地方做一些數(shù)據(jù)的保存和備份操作!
try:
代碼塊1
except:
代碼塊2
finally:
代碼塊3

拋出異常: 主動讓程序崩潰:

  1. 語法:
    raise 異常類型

注意:異常類型可以是系統(tǒng)自帶的,也可以是程序員自定義 (要求異常類型必須是Exception的子類)

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容