更新時(shí)間:2021-07-16 來(lái)源:黑馬程序員 瀏覽量:
Python程序在運(yùn)行時(shí)出現(xiàn)的異常會(huì)導(dǎo)致程序崩潰,這種異常處理方式并不友好,開(kāi)發(fā)人員需要一種友好的方式處理程序運(yùn)行時(shí)的異常。在Python中可使用try-except語(yǔ)句捕獲異常,try-except還可以與else、finally組合使用實(shí)現(xiàn)更強(qiáng)大的異常處理功能。
try-except語(yǔ)句用于捕獲程序運(yùn)行時(shí)的異常,其語(yǔ)法格式如下:
try: 可能出錯(cuò)的代碼 ...... except [錯(cuò)誤類(lèi)型]: 錯(cuò)誤處理語(yǔ)句 ......
上述格式中,try子句后面是可能出錯(cuò)的代碼,except子句后面是捕獲的異常類(lèi)型,及捕獲到異常后的處理語(yǔ)句。
try-except語(yǔ)句的執(zhí)行過(guò)程如下:
(1)先執(zhí)行try子句,即try與except之間的代碼;
(2)若try子句中沒(méi)有產(chǎn)生異常,忽略except子句代碼;
(3)若try子句產(chǎn)生異常,則忽略try子句的剩余代碼,執(zhí)行except子句代碼。
使用try-except語(yǔ)句捕獲程序運(yùn)行時(shí)的異常,示例如下:
try: for i in 2: print(i) except: print('int類(lèi)型不支持迭代操作')
上述代碼對(duì)整數(shù)進(jìn)行迭代操作,但整數(shù)不支持迭代操作,因此上述代碼在執(zhí)行過(guò)程中必定會(huì)產(chǎn)生異常。運(yùn)行上述代碼程序并不會(huì)崩潰,這是因?yàn)閑xcept語(yǔ)句捕獲到程序中的異常,并告訴Python解釋器如何處理該異常——忽略異常之后的代碼,執(zhí)行except語(yǔ)句后異常處理代碼。
運(yùn)行程序,結(jié)果如下所示:
int類(lèi)型不支持迭代操作
python常見(jiàn)異常類(lèi)型介紹【黑馬程序員】