bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

python的異常處理語句的使用-創(chuàng)新互聯(lián)

這篇文章給大家分享的是python中使用異常處理語句處理錯誤的方法,相信大部分人都還沒學會這個技能,為了讓大家學會,給大家總結了以下內(nèi)容,話不多說,一起往下看吧。

創(chuàng)新互聯(lián)主營新源網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,重慶APP開發(fā),新源h5重慶小程序開發(fā)公司搭建,新源網(wǎng)站營銷推廣歡迎新源等地區(qū)企業(yè)咨詢

在執(zhí)行python腳本時,正常運行的時候,也可能發(fā)生錯誤,返回的錯誤類型就是報錯信息,我們可以針對其返回的錯誤類型執(zhí)行相應的語句,錯誤類型有很多,如:ValueError、TypeError、NameError、ZeroDivisionError.....

1、try / except

來個簡單的語法,如下:

while True:
   try:
     x = int(input('請輸入一個數(shù)字:'))
     break
   except ValueError:
     print('您輸入的不是一個數(shù)字,請再次嘗試!')

執(zhí)行結果如下:

請輸入一個數(shù)字:d
您輸入的不是一個數(shù)字,請再次嘗試!
請輸入一個數(shù)字:3

try語句按照如下的方式工作:

  • 首先,執(zhí)行try子句(在關鍵字try和except之間的語句)。
  • 如果沒有發(fā)生異常,則忽略except子句,try子句執(zhí)行后結束。
  • 如果在執(zhí)行try子句的過程中發(fā)生了異常,那么try子句余下的部分將會被忽略,如果異常類型和except之后定義的異常類型相同,則會執(zhí)行except關鍵字下的子句。
  • 如果一個異常沒有與任何except匹配,那么這個異常將會傳遞給上層的try中。
  • 一個try語句可以包含多個except子句,分別來處理不同的特定異常,但是最多只有一個except分支會被執(zhí)行。

  • 處理程序?qū)⒅会槍膖ry子句中的異常進行處理,而不是其他的try的處理程序中的異常。

一個except子句可以同時處理多個異常,這些異常被放在括號中成為一個元組,栗子如下:

except (RuntimeError,TypeError,NameError,ValueError):
   pass

注:pass表示忽略此異常,不執(zhí)行任何語句。

最后一個except子句可以忽略異常的名稱,它被當作通配符使用。栗子如下:

try:
   f = open('myfile.txt')
   s = f.readline()
   i = int(s.strip())
except OSError as err:
   print("OS error: {0}".format(err))
except ValueError:
   print("不能將數(shù)據(jù)轉換為整數(shù)類型!")
except:
   pass

2、try / except / else

try/except語句還有一個可選的else子句,如果使用這個子句,那么必須放在所有except子句之后,else子句將在try子句沒有發(fā)生任何異常的時候執(zhí)行。

語法格式如下:

   try:
     #正常執(zhí)行的代碼塊
   except 異常類型:
     #發(fā)生異常時執(zhí)行的代碼塊
   else:
     # 沒有異常時執(zhí)行的代碼塊

栗子如下:

while True:
   try:
     x = int(input('請輸入一個數(shù)字:'))
     # break
   except (ValueError,NameError,Exception):
     print("您輸入的不是數(shù)字!")
   else:
     print('用戶輸入完畢!')

使用else子句比把所有的語句都放在try子句里要好,這樣可以避免一些意想不到,而except又無法捕獲的異常。

異常處理并不僅僅處理那些直接發(fā)生在try子句中的異常,而且還能處理子句中調(diào)用的函數(shù)(甚至間接調(diào)用的函數(shù))里拋出異常,栗子如下:

try:
   this_fails()
except ZeroDivisionError as err:
   print('Handling run-time error:', err)

在上面的栗子中,如果函數(shù)中報錯類型為:ZeroDivisionError,那么將會輸出以下內(nèi)容:

Handling run-time error:err

3、try / finally

try / finally語句無論是否發(fā)生都將執(zhí)行最后的代碼。

語法格式:

try:
   #正常執(zhí)行的代碼塊
except 異常類型:
   #發(fā)生異常時執(zhí)行的代碼塊
else:
   #沒有異常時執(zhí)行的代碼塊
finally:
   #不管有沒有異常都會執(zhí)行的代碼塊

示例如下:

while True:
   try:
     x = int(input('請輸入一個數(shù)字:'))
     # break
   except (ValueError,NameError,Exception):
     print("您輸入的不是數(shù)字!")
   else:
     print('用戶輸入完畢!')
   finally:
     print("這句話,無論異常是否發(fā)生都會執(zhí)行。")

關于python的異常處理語句的使用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

分享文章:python的異常處理語句的使用-創(chuàng)新互聯(lián)
鏈接分享:http://vcdvsql.cn/article22/ppgjc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供域名注冊小程序開發(fā)網(wǎng)站改版做網(wǎng)站自適應網(wǎng)站網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化