python的錯(cuò)誤處理——try語(yǔ)句
創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)全椒,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):18982081108
最近開(kāi)始整理python的資料,博主建立了一個(gè)qq群,希望給大家提供一個(gè)交流的同平臺(tái):78486745 。
當(dāng)我們認(rèn)為某些代碼可能會(huì)出錯(cuò)時(shí),就可以用try來(lái)運(yùn)行這段代碼,如果執(zhí)行出錯(cuò),則后續(xù)代碼不會(huì)繼續(xù)執(zhí)行,而是直接跳轉(zhuǎn)至錯(cuò)誤處理代碼,即except語(yǔ)句塊,執(zhí)行完except后,如果有finally語(yǔ)句塊,則執(zhí)行finally語(yǔ)句塊,至此,執(zhí)行完畢。
python的try語(yǔ)句有兩種風(fēng)格
try:
<語(yǔ)句> #運(yùn)行別的代碼
except <名字>:
<語(yǔ)句> #如果在try部份引發(fā)了'name'異常
except <名字>,<數(shù)據(jù)>:
<語(yǔ)句> #如果引發(fā)了'name'異常,獲得附加的數(shù)據(jù)
else:
<語(yǔ)句> #如果沒(méi)有異常發(fā)生
try的工作原理是,當(dāng)開(kāi)始一個(gè)try語(yǔ)句后,python就在當(dāng)前程序的上下文中作標(biāo)記,這樣當(dāng)異常出現(xiàn)時(shí)就可以回到這里,try子句先執(zhí)行,接下來(lái)會(huì)發(fā)生什么依賴(lài)于執(zhí)行時(shí)是否出現(xiàn)異常。
1、如果當(dāng)try后的語(yǔ)句執(zhí)行時(shí)發(fā)生異常,python就跳回到try并執(zhí)行第一個(gè)匹配該異常的except子句,異常處理完畢,控制流就通過(guò)整個(gè)try語(yǔ)句(除非在處理異常時(shí)又引發(fā)新的異常)。
2、如果在try后的語(yǔ)句里發(fā)生了異常,卻沒(méi)有匹配的except子句,異常將被遞交到上層的try,或者到程序的最上層(這樣將結(jié)束程序,并打印缺省的出錯(cuò)信息)。
3、如果在try子句執(zhí)行時(shí)沒(méi)有發(fā)生異常,python將執(zhí)行else語(yǔ)句后的語(yǔ)句(如果有else的話(huà)),然后控制流通過(guò)整個(gè)try語(yǔ)句。
try:
<語(yǔ)句>
finally:
<語(yǔ)句> #退出try時(shí)總會(huì)執(zhí)行finally語(yǔ)句
python總會(huì)執(zhí)行finally子句,無(wú)論try子句執(zhí)行時(shí)是否發(fā)一異常。
1、如果沒(méi)有發(fā)生異常,python運(yùn)行try子句,然后是finally子句,然后繼續(xù)。
2、如果在try子句發(fā)生了異常,python就會(huì)回來(lái)執(zhí)行finally子句,然后把異常遞交給上層try,控制流不會(huì)通過(guò)整個(gè)try語(yǔ)句。
當(dāng)你想無(wú)論是否發(fā)生異常都確保執(zhí)行某些代碼時(shí),try/finally是有用的。
這個(gè)在打開(kāi)文件的時(shí)候有用 finally總是在最后close()文件
try語(yǔ)句子句形式表
except: 捕獲所有異常
except name: 只捕獲特定的異常
except name,value: 捕獲異常和它的附加數(shù)據(jù)(將異常的信息保存到value,)
except (name1,name2): 捕獲任何列出的異常
else: 如果沒(méi)有異常
finally: 總是執(zhí)行
try:
f = open('file.txt')
except IOError as e:
print e
else:
print 'wrong'
[Errno 2] No such file or directory: 'file.txt'
try/except/finally:
#1:如果x沒(méi)有異常,執(zhí)行z,i
#2:如果x有異常,
#一:如果except捕捉到異常則執(zhí)行y,i
#二:沒(méi)捕捉到,執(zhí)行i,然后返回內(nèi)置異常處理
try:
x
except(name):
y
else:
z
finally:
i
文章名稱(chēng):python的錯(cuò)誤處理——try語(yǔ)句
當(dāng)前地址:http://jinyejixie.com/article12/posegc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、移動(dòng)網(wǎng)站建設(shè)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、搜索引擎優(yōu)化、虛擬主機(jī)、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)