Python程序在運(yùn)轉(zhuǎn)時(shí)出現(xiàn)的問(wèn)題會(huì)導(dǎo)致程序潰散,這種問(wèn)題處理方法并不友愛(ài),開(kāi)發(fā)人員需求一種友愛(ài)的方法處理程序運(yùn)轉(zhuǎn)時(shí)的問(wèn)題。在Python中可運(yùn)用try-except句子捕獲問(wèn)題,try-except還可以與else、finally組合運(yùn)用完成更強(qiáng)大的問(wèn)題處理功用。
try-except句子用于捕獲程序運(yùn)轉(zhuǎn)時(shí)的問(wèn)題,其語(yǔ)法格局如下:
try:
或許犯錯(cuò)的代碼
......
except[過(guò)錯(cuò)類型]:
過(guò)錯(cuò)處理句子
......
上述格局中,try子句后邊是或許犯錯(cuò)的代碼,except子句后邊是捕獲的問(wèn)題類型,及捕獲到問(wèn)題后的處理句子。
try-except句子的履行進(jìn)程如下:
(1)先履行try子句,即try與except之間的代碼;
(2)若try子句中沒(méi)有發(fā)生問(wèn)題,疏忽except子句代碼;
(3)若try子句發(fā)生問(wèn)題,則疏忽try子句的剩下代碼,履行except子句代碼。
運(yùn)用try-except句子捕獲程序運(yùn)轉(zhuǎn)時(shí)的問(wèn)題,示例如下:
try:
foriin2:
print(i)
except:
print('int類型不支持迭代操作')
上述代碼對(duì)整數(shù)進(jìn)行迭代操作,但整數(shù)不支持迭代操作,因此上述代碼在履行進(jìn)程中必定會(huì)發(fā)生問(wèn)題。運(yùn)轉(zhuǎn)上述代碼程序并不會(huì)潰散,這是因?yàn)閑xcept句子捕獲到程序中的問(wèn)題,并告訴Python解說(shuō)器怎么處理該問(wèn)題——疏忽問(wèn)題之后的代碼,履行except句子后問(wèn)題處理代碼。
運(yùn)轉(zhuǎn)程序,結(jié)果如下所示:
int類型不支持迭代操作