新聞中心
捕捉異??梢允褂胻ry/except語句。try/except語句用來檢測(cè)try語句塊中的錯(cuò)誤,從而讓except語句捕獲異常信息并處理。

如果你不想在異常發(fā)生時(shí)結(jié)束你的程序,只需在try里捕獲它。
語法:
以下為簡(jiǎn)單的try....except...else的語法:
try: <語句> #運(yùn)行別的代碼 except <名字>: <語句> #如果在try部份引發(fā)了'name'異常 except <名字>,<數(shù)據(jù)>: <語句> #如果引發(fā)了'name'異常,獲得附加的數(shù)據(jù) else: <語句> #如果沒有異常發(fā)生
try的工作原理是,當(dāng)開始一個(gè)try語句后,python就在當(dāng)前程序的上下文中作標(biāo)記,這樣當(dāng)異常出現(xiàn)時(shí)就可以回到這里,try子句先執(zhí)行,接下來會(huì)發(fā)生什么依賴于執(zhí)行時(shí)是否出現(xiàn)異常。
相關(guān)推薦:《Python視頻教程》
如果當(dāng)try后的語句執(zhí)行時(shí)發(fā)生異常,python就跳回到try并執(zhí)行第一個(gè)匹配該異常的except子句,異常處理完畢,控制流就通過整個(gè)try語句(除非在處理異常時(shí)又引發(fā)新的異常)。
如果在try后的語句里發(fā)生了異常,卻沒有匹配的except子句,異常將被遞交到上層的try,或者到程序的最上層(這樣將結(jié)束程序,并打印默認(rèn)的出錯(cuò)信息)。
如果在try子句執(zhí)行時(shí)沒有發(fā)生異常,python將執(zhí)行else語句后的語句(如果有else的話),然后控制流通過整個(gè)try語句。
使用except而不帶任何異常類型
你可以不帶任何異常類型使用except,如下實(shí)例:
try: 正常的操作 ...................... except: 發(fā)生異常,執(zhí)行這塊代碼 ...................... else: 如果沒有異常執(zhí)行這塊代碼
以上方式try-except語句捕獲所有發(fā)生的異常。但這不是一個(gè)很好的方式,我們不能通過該程序識(shí)別出具體的異常信息。因?yàn)樗东@所有的異常。
使用except而帶多種異常類型
你也可以使用相同的except語句來處理多個(gè)異常信息,如下所示:
try: 正常的操作 ...................... except(Exception1[, Exception2[,...ExceptionN]]]): 發(fā)生以上多個(gè)異常中的一個(gè),執(zhí)行這塊代碼 ...................... else: 如果沒有異常執(zhí)行這塊代碼
try-finally 語句
try-finally 語句無論是否發(fā)生異常都將執(zhí)行最后的代碼。
try: <語句> finally: <語句> #退出try時(shí)總會(huì)執(zhí)行 raise
網(wǎng)頁題目:創(chuàng)新互聯(lián)Python教程:python如何處理捕獲的異常
轉(zhuǎn)載源于:http://m.fisionsoft.com.cn/article/dhodhgi.html


咨詢
建站咨詢
