欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python報(bào)錯(cuò)誤的解決方法-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買(mǎi)多久送多久,劃算不套路!

創(chuàng)新互聯(lián)提供做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì),品牌網(wǎng)站設(shè)計(jì),一元廣告等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,10余年的網(wǎng)站開(kāi)發(fā)和建站經(jīng)驗(yàn),助力企業(yè)信息化建設(shè),成功案例突破上千多家,是您實(shí)現(xiàn)網(wǎng)站建設(shè)的好選擇.

這篇文章主要介紹python報(bào)錯(cuò)誤的解決方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

在編寫(xiě)Python代碼或開(kāi)發(fā)實(shí)際應(yīng)用的項(xiàng)目時(shí),程序報(bào)出異常或錯(cuò)誤是在所難免的,那么我們應(yīng)該怎樣處理這些異常呢?下面來(lái)說(shuō)一下方法。

1.使用try...except捕捉異常

try:
  s=1/0
except IndexError:
  print ('except')
except KeyError:
  print ('Keyerror')
except ZeroDivisionError:
  print ('ZeroDivisionError')

try:
  s=1/0
except:
  print ('出現(xiàn)異常')
或有多個(gè)異常名稱(chēng)的格式
try:
  s = 1/0
except(IndexError,KeyError,ZeroDivisionError),e:
  print (e)

2.使用try ...except...else語(yǔ)句捕捉異常

當(dāng)try塊中的代碼沒(méi)有異常時(shí),則跳過(guò)except塊中的代碼,執(zhí)行else塊中的代碼

工作原理:

1).如果try代碼塊語(yǔ)句執(zhí)行發(fā)生異常,Python就跳回try,執(zhí)行第一個(gè)匹配該異常的except塊中的代碼

2).如果異常發(fā)生在try代碼塊內(nèi),沒(méi)有匹配的except子句,name異常就會(huì)向上傳遞到程序中之前進(jìn)入的try中,或者轉(zhuǎn)到這個(gè)進(jìn)程的頂層(這會(huì)使python終止當(dāng)前程序并打印默認(rèn)的錯(cuò)誤消息)

3).如果try塊中的代碼執(zhí)行沒(méi)有異常發(fā)生,則python將執(zhí)行else塊中的代碼

3.使用try...finally捕捉異常

當(dāng)try塊中包含了finally語(yǔ)句,則python一定會(huì)在執(zhí)行完try塊中的代碼之后在執(zhí)行finally塊中的代碼(無(wú)論try塊中的代碼是否發(fā)生異常都將執(zhí)行finally塊中的代碼)

工作原理:

1).如果執(zhí)行try塊中的代碼時(shí)沒(méi)有發(fā)生異常,則Python會(huì)跳轉(zhuǎn)至finally語(yǔ)句并執(zhí)行該代碼塊,然后繼續(xù)執(zhí)行程序中finally語(yǔ)句之后的代碼

2).如果執(zhí)行try塊中的代碼時(shí)發(fā)生異常,則Python依然會(huì)執(zhí)行finally語(yǔ)句中的代碼塊,但是接著會(huì)將異常向上傳遞到上層的try語(yǔ)句或頂層的默認(rèn)處理器,程序不會(huì)繼續(xù)執(zhí)行導(dǎo)致發(fā)生異常的語(yǔ)句之后的try塊中的代碼。也就是說(shuō),即使發(fā)生了異常,finally代碼塊還是會(huì)被執(zhí)行,和except不同的是,finally不會(huì)終止異常,而是在finally代碼塊執(zhí)行后,一直處于發(fā)生狀態(tài)

4.使用raise拋出異常(手工引發(fā)異常)

raise<異常對(duì)象>

‘異常對(duì)象’表示將引發(fā)異常的異常名稱(chēng),且異常名稱(chēng)標(biāo)識(shí)了具體的異常類(lèi)。raise語(yǔ)句還可指定對(duì)異常對(duì)象進(jìn)行初始化的參數(shù),為此需要在異常類(lèi)的名稱(chēng)后添加一個(gè)逗號(hào)以及指定參數(shù)(或者由參數(shù)構(gòu)成的一個(gè)元組 )。一旦執(zhí)行了raise語(yǔ)句,raise語(yǔ)句后的代碼將不能被執(zhí)行

raise<異常對(duì)象>,<異常信息標(biāo)識(shí)>

例子:

try:
  raise NameError
except NameError:
  print ('拋出一個(gè)異常')

5.自定義異常

格式class MyError(Exception):   

 def __init__(self,value):
      self.value=value
    def __str__(self):
      return repr(self.value)
   try:
      raise MyError(2*2)
   except MyError as e:
      print('My exceotion occurred,value:',e.value)

6.使用assert語(yǔ)句

用于檢測(cè)某個(gè)條件表達(dá)式是否為真。又稱(chēng)斷言語(yǔ)句,即assert認(rèn)為檢測(cè)的表達(dá)式永遠(yuǎn)為真,斷言失敗就會(huì)引發(fā)AssertionError異常

語(yǔ)法格式:assert<條件判斷表達(dá)式>

username = 'admin'
password='123456'
assert username =='admin' and password == 'admin','密碼錯(cuò)誤!'

以上是python報(bào)錯(cuò)誤的解決方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

當(dāng)前題目:python報(bào)錯(cuò)誤的解決方法-創(chuàng)新互聯(lián)
本文鏈接:http://chinadenli.net/article6/idoig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、網(wǎng)站維護(hù)、品牌網(wǎng)站制作品牌網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、搜索引擎優(yōu)化

廣告

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

成都做網(wǎng)站