python的異常機(jī)制同其他語(yǔ)言差不多,下面直接來(lái)看代碼進(jìn)行學(xué)習(xí)吧。
array = ['carsonHai', 'BertLi']
list = {'age': 25, 'name': 'BertLi'}
str = 'Hello World!'
try:
int(str)
print(array[3])
print(list['sex'])
open("CarsonHai")
except IndexError as e:
print("列表下標(biāo)越界", e)
except KeyError as e:
print("字典不存在這個(gè)key", e)
except ValueError as e:
print("值的類型錯(cuò)誤", e)
except Exception as e:
print("未知異常:", e)
else:
print("一切正常時(shí)執(zhí)行")
finally:
print("無(wú)論是否有錯(cuò)都執(zhí)行")
下面總結(jié)一些常用到的異常:
AttributeError 試圖訪問一個(gè)對(duì)象沒有的樹形,比如foo.x,但是foo沒有屬性x
IOError 輸入/輸出異常;基本上是無(wú)法打開文件
ImportError 無(wú)法引入模塊或包;基本上是路徑問題或名稱錯(cuò)誤
IndentationError 語(yǔ)法錯(cuò)誤(的子類) ;代碼沒有正確對(duì)齊
IndexError 下標(biāo)索引超出序列邊界,比如當(dāng)x只有三個(gè)元素,卻試圖訪問x[5]
KeyError 試圖訪問字典里不存在的鍵
KeyboardInterrupt Ctrl+C被按下
NameError 使用一個(gè)還未被賦予對(duì)象的變量
SyntaxError Python代碼非法,代碼不能編譯(個(gè)人認(rèn)為這是語(yǔ)法錯(cuò)誤,寫錯(cuò)了)
TypeError 傳入對(duì)象類型與要求的不符合
UnboundLocalError 試圖訪問一個(gè)還未被設(shè)置的局部變量,基本上是由于另有一個(gè)同名的全局變量,導(dǎo)致你以為正在訪問它
ValueError 傳入一個(gè)調(diào)用者不期望的值,即使值的類型是正確的
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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