溫馨提示×

溫馨提示×

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

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

python的錯誤處理——try語句

發布時間:2020-08-06 14:12:10 來源:網絡 閱讀:300 作者:Python自學者 欄目:編程語言

python的錯誤處理——try語句

最近開始整理python的資料,博主建立了一個qq群,希望給大家提供一個交流的同平臺:78486745 。

當我們認為某些代碼可能會出錯時,就可以用try來運行這段代碼,如果執行出錯,則后續代碼不會繼續執行,而是直接跳轉至錯誤處理代碼,即except語句塊,執行完except后,如果有finally語句塊,則執行finally語句塊,至此,執行完畢。

python的try語句有兩種風格

  1. 處理異常(try/except/else)
  2. 種是無論是否發生異常都將執行最后的代碼(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時總會執行finally語句

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 as e:
   print e
else:
   print 'wrong'
[Errno 2] No such file or directory: 'file.txt'

try/except/finally:

#1:如果x沒有異常,執行z,i
#2:如果x有異常, 
#一:如果except捕捉到異常則執行y,i
#二:沒捕捉到,執行i,然后返回內置異常處理 

try: 
    x 
except(name): 
    y
else:
    z
finally:
    i
向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女