久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > python報(bào)的錯(cuò)誤怎么處理

python報(bào)的錯(cuò)誤怎么處理

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-11 12:22:18 1699676538

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

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

try:

s=1/0

exceptIndexError:

print('except')

exceptKeyError:

print('Keyerror')

exceptZeroDivisionError:

print('ZeroDivisionError')

try:

s=1/0

except:

print('出現(xiàn)異常')

或有多個(gè)異常名稱的格式

try:

s=1/0

except(IndexError,KeyError,ZeroDivisionError),e:

print(e)

2.使用try...except...else語句捕捉異常

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

工作原理:

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

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

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

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

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

工作原理:

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

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

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

raise<異常對(duì)象>

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

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

例子:

try:

raiseNameError

exceptNameError:

print('拋出一個(gè)異常')

5.自定義異常

格式classMyError(Exception):

def__init__(self,value):

self.value=value

def__str__(self):

returnrepr(self.value)

try:

raiseMyError(2*2)

exceptMyErrorase:

print('Myexceotionoccurred,value:',e.value)

6.使用assert語句

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

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

username='admin'

password='123456'

assertusername=='admin'andpassword=='admin','密碼錯(cuò)誤!

以上內(nèi)容為大家介紹了python培訓(xùn)之報(bào)的錯(cuò)誤怎么處理,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT