深入理解python try異常處理機制
#python的try語句有兩種風格 #一:種是處理異常(try/except/else) #二:種是無論是否發生異常都將執行最后的代碼(try/finally) try/except/else風格 try: <語句> #運行別的代碼 except <名字>: <語句> #如果在try部份引發了'name'異常 except <名字>,<數據>: <語句> #如果引發了'name'異常,獲得附加的數據 else: <語句> #如果沒有異常發生 #try的工作原理是,當開始一個try語句后,python就在當前程序的上下文中作標記,這樣當異常出現時就可以回到這里,try子句先執行,接下來會發生什么依賴于執行時是否出現異常。 #1、如果當try后的語句執行時發生異常,python就跳回到try并執行第一個匹配該異常的except子句,異常處理完畢,控制流就通過整個try語句(除非在處理異常時又引發新的異常)。 #2、如果在try后的語句里發生了異常,卻沒有匹配的except子句,異常將被遞交到上層的try,或者到程序的最上層(這樣將結束程序,并打印缺省的出錯信息)。 #3、如果在try子句執行時沒有發生異常,python將執行else語句后的語句(如果有else的話),然后控制流通過整個try語句。 try/finally風格 try: <語句> finally: <語句> #退出try時總會執行 python總會執行finally子句,無論try子句執行時是否發一異常。 1、如果沒有發生異常,python運行try子句,然后是finally子句,然后繼續。 2、如果在try子句發生了異常,python就會回來執行finally子句,然后把異常遞交給上層try,控制流不會通過整個try語句。 當你想無論是否發生異常都確保執行某些代碼時,try/finally是有用的。 #這個在打開文件的時候有用 finally總是在最后close()文件 try 語句子句形式表 except: 捕獲所有異常 except name: 只捕獲特定的異常 except name,value: 捕獲異常和它的附加數據(將異常的信息保存到value,) except (name1,name2): 捕獲任何列出的異常 else: 如果沒有異常 finally: 總是執行 >>> 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 try: 1:如果x沒有異常,執行z,i x 2:如果x有異常, 一:如果except捕捉到異常則執行y,i except(name): 二:沒捕捉到,執行i,然后返回內置異常處理 y else: z finally: i
以上這篇深入理解python try異常處理機制就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
