溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python寫try語句的方法

發(fā)布時間:2020-07-15 10:28:45 來源:億速云 閱讀:425 作者:清晨 欄目:編程語言

小編給大家分享一下python寫try語句的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

python寫try語句的方法:1、使用try/except/else結構,try中存放需要運行的代碼;2、except 中存放處理異常的代碼;3、else里存放try語句未發(fā)生異常時執(zhí)行的代碼。

python寫try語句的方法

python的try語句有兩種風格
一是處理異常(try/except/else)
二是無論是否發(fā)生異常都將執(zhí)行最后的代碼(try/finally)

try/except/else風格

try:
    <語句> #運行的代碼
except <名字>:
    <語句> #如果在try部份引發(fā)了'name'異常
except <名字>,<數(shù)據(jù)>:
    <語句> #如果引發(fā)了'name'異常,獲得附加的數(shù)據(jù)
else:
    <語句> #如果沒有異常發(fā)生


try的工作原理是,當開始一個try語句后,python就在當前程序的上下文中作標記,這樣當異常出現(xiàn)時就可以回到這里,try子句先執(zhí)行,接下來會發(fā)生什么依賴于執(zhí)行時是否出現(xiàn)異常。
1、如果當try后的語句執(zhí)行時發(fā)生異常,python就跳回到try并執(zhí)行第一個匹配該異常的except子句,異常處理完畢,控制流就通過整個try語句(除非在處理異常時又引發(fā)新的異常)。
2、如果在try后的語句里發(fā)生了異常,卻沒有匹配的except子句,異常將被遞交到上層的try,或者到程序的最上層(這樣將結束程序,并打印缺省的出錯信息)。
3、如果在try子句執(zhí)行時沒有發(fā)生異常,python將執(zhí)行else語句后的語句(如果有else的話),然后控制流通過整個try語句。


try/finally風格

try:
    <語句>
finally:
    <語句> #退出try時總會執(zhí)行



python總會執(zhí)行finally子句,無論try子句執(zhí)行時是否發(fā)一異常。
1、如果沒有發(fā)生異常,python運行try子句,然后是finally子句,然后繼續(xù)。
2、如果在try子句發(fā)生了異常,python就會回來執(zhí)行finally子句,然后把異常遞交給上層try,控制流不會通過整個try語句。
當你想無論是否發(fā)生異常都確保執(zhí)行某些代碼時,try/finally是有用的。

這個在打開文件的時候有用 finally總是在最后close()文件

try語句子句形式表
except: 捕獲所有異常
except name: 只捕獲特定的異常
except name,value: 捕獲異常和它的附加數(shù)據(jù)(將異常的信息保存到value,)
except (name1,name2): 捕獲任何列出的異常
else: 如果沒有異常
finally: 總是執(zhí)行

try:
   f = open('file.txt')
except IOError, e:
   print e
else:
   print 'wrong'
[Errno 2] No such file or directory: 'file.txt'


最新的python版本 支持try/except/finally
1:如果x沒有異常,執(zhí)行z,i

 2:如果x有異常:

一:如果except捕捉到異常則執(zhí)行y,i

二:沒捕捉到,執(zhí)行i,然后返回內(nèi)置異常處理

try:    
     x
except(name):   
     y
else:    
   z
finally:  
   i

看完了這篇文章,相信你對python寫try語句的方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI