day13-總結(jié)

1.異常捕獲

"""
當(dāng)程序發(fā)生異常的時(shí)候,默認(rèn)情況會(huì)崩潰,不能接著往后執(zhí)行,
捕獲異常就是讓程序發(fā)生異常的時(shí)候不崩潰,能夠接著往后執(zhí)行
明明知道代碼會(huì)出現(xiàn)異常,但是又不能通過(guò)修改代碼取避免,這個(gè)時(shí)候就可以通過(guò)異常捕獲去處理異常。

"""

2.捕獲異常的語(yǔ)法

"""
1)語(yǔ)法1: - 捕獲所有的異常
try:
代碼段1
except:
代碼段2
說(shuō)明:try,except - 關(guān)鍵字
代碼段1 - 需要捕獲異常的一條或者多條語(yǔ)句的代碼
代碼段2 - 出現(xiàn)異常后會(huì)執(zhí)行的一條或者多條語(yǔ)句

執(zhí)行過(guò)程:先執(zhí)行代碼段1,如果執(zhí)行代碼段1的時(shí)候出現(xiàn)異常,程序不崩潰,直接執(zhí)行代碼段2
如果代碼段1沒(méi)出現(xiàn)異常,不會(huì)執(zhí)行代碼段2,直接執(zhí)行后面的代碼

2)語(yǔ)法2
try:
代碼段1
except 異常類型:
代碼塊2
執(zhí)行過(guò)程:先執(zhí)行代碼段1,如果執(zhí)行代碼段1的時(shí)候出現(xiàn)異常,判斷異常類型和except后面的異常類型是否一致
如果一致的程序不崩潰,直接執(zhí)行代碼段2,如果不一致,程序直接崩潰

3)語(yǔ)法3
try:
代碼段1
except:
代碼段2(異常類型1,異常類型2,……)

4)語(yǔ)法4
try:
代碼段1
except 異常類型1:
代碼段2
except 異常類型2:
代碼段3
……

finally:
代碼段f

# 語(yǔ)法1的例子
try:
    nums = [1, 2, 3, 4]
    print(nums[5])
except:
    print('出現(xiàn)異常')

# 語(yǔ)法2的例子
nums = {'name': '小明', 'age': 18, 'gender': '男'}
try:
    print(nums[4])
    print('====')
except KeyError:
    print('出現(xiàn)錯(cuò)誤的異常

3.finally:

"""
捕獲異常的最后都可以添加一個(gè)finally,后面的代碼塊,任何情況都會(huì)執(zhí)行。
1)try后面的代碼段么有出現(xiàn)異常,finally會(huì)執(zhí)行
2)try后面的代碼段出現(xiàn)異常被捕獲到,finally會(huì)執(zhí)行
3)try后面的代碼段出現(xiàn)異常沒(méi)有被捕獲到,finally會(huì)執(zhí)行,程序崩潰

"""

4.拋出異常 raise

"""
讓代碼在某種情況下主動(dòng)崩潰:

raise 異常類型

"""

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

相關(guān)閱讀更多精彩內(nèi)容

  • 異常的捕獲 1.目的 ①當(dāng)程序發(fā)生異常的時(shí)候,默認(rèn)情況會(huì)程序崩潰,不能接著往后執(zhí)行;捕獲異常就是讓程序發(fā)生異常的時(shí)...
    逆天胖子閱讀 241評(píng)論 0 0
  • json 1.什么是json數(shù)據(jù)json是一種具有特定語(yǔ)法的數(shù)據(jù)格式 2.json數(shù)據(jù)的語(yǔ)法一個(gè)json數(shù)據(jù)有且只...
    xue_y閱讀 214評(píng)論 0 0
  • 01.recode 一.json數(shù)據(jù) 1.json數(shù)據(jù):a.只有一個(gè)數(shù)據(jù) b.數(shù)據(jù)類型是json支持的類型 2....
    Gary134閱讀 366評(píng)論 0 0
  • 1.迭代器和生成器 迭代器,獲取數(shù)據(jù):next(迭代器)、for循環(huán)遍歷,數(shù)據(jù)來(lái)源:轉(zhuǎn)換、生成器 生成器:就是迭代...
    Sun_092b閱讀 74評(píng)論 0 0
  • 八、深入理解java異常處理機(jī)制 引子try…catch…finally恐怕是大家再熟悉不過(guò)的語(yǔ)句了, 你的答案是...
    壹點(diǎn)零閱讀 1,730評(píng)論 0 0

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