欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python用Try語句捕獲異常的實例方法

系統 1773 0

python的異常,以及用try復合語句處理異常。

運行代碼時有時會出現各種各樣的錯誤,致使解析器中斷執行,并提示xxxxxxErorr的提示,后面跟具體的錯誤的描述,這被稱為是引發了異常。

其實異常告訴我們的是遇到了什么類型的錯誤。xxxxErorr就是python內置的異常類型。每一種異常類型,都有它自己的錯誤信息。

Python用Try語句捕獲異常的實例方法_第1張圖片

有一種比較容易辨識,容易處理的錯誤,語法錯誤:SyntaxError

是由于寫代碼時的語法錯誤,大部分的解析器都會提前提示,像pycharm,在書寫時如果語法錯誤,都會有波浪線提示。語法上的錯誤很好處理,類似與寫文章寫錯字了,改正就行了。

Python用Try語句捕獲異常的實例方法_第2張圖片

如何處理異常:

除了語法錯誤能輕松搞定,其他有些異常類型不影響代碼的功能,而又不想讓異常中斷執行時,就要對異常進行處理,而不讓他中斷程序:

例如:有一個字典personDetail={"name":“光頭強”}里邊是光頭強的資料,想取到它的資料,但具體都有什么資料我們不知道,如果輸入的鍵不存在就會引發異常而中斷執行。致使后面的代碼也為無法執行。

Python用Try語句捕獲異常的實例方法_第3張圖片

那么就要捕獲這些異常,繞過它,能讓下面的代碼繼續運行。python提供了try語句來實現這些功能。

語法:

try:
可能發生異常的代碼
except 異常類型:
捕獲的異常后要執行的代碼

try?語句的工作原理如下。

1)執行?try 子句時如果沒有異常發生,則跳過?except 子句并完成?try?語句的執行。

2)如果在執行try 子句時發生了異常,則跳至except子句。

3)執行 except 子句 ,如果引發異常的類型和?except?關鍵字后面的異常匹配,就是捕獲了異常,執行except子句。

例如:

            
gtqDict={"Name":"光頭強","Age":34,"Gender":"男"
try:
 print(gtqDict["Weight"])
except KeyError:
 print("Weight不存在,繼續走"
print(gtqDict["Age"])
print(gtqDict["Gender"])
          

?

例子不管weight是否存在,都能使得程序完。

Python用Try語句捕獲異常的實例方法_第4張圖片

捕獲多個異常

有時不確定會發生哪種異常,就把異常類型以元組的形式組包統統放在except后面,來匹配可能發生的異常:

比如:要打印光頭強年齡的Age鍵,不確定這個鍵是否存在,就用KeyErorr,不確定會不會發生鍵名是否正確,就用NameErorr。

例如:

            
gtqDict={"Name":"光頭強","Age":34,"Gender":"男"
try:
 print(gtqDict["age"])
except (KeyError,KeyError):
 print("age錯誤"
print(gtqDict["Name"])
print(gtqDict["Gender"])
          

?

Python用Try語句捕獲異常的實例方法_第5張圖片

捕獲異常的描述信息:可以將異常的具體描述打印出來,以供參考。

try:可能發生異常的代碼

except (KeyError,KeyError) as 信息變量:

print(信息變量)

例如:

            
gtqDict={"Name":"光頭強","Age":34,"Gender":"男"}
try:
 print(gtqDict["Weight"])
except (KeyError,KeyError) as e:
 print(type(e),e)
print(gtqDict["Name"])
print(gtqDict["Gender"])


          

Python用Try語句捕獲異常的實例方法_第6張圖片

捕獲所有異常

前面提過,引發異常的xxxxErorr都是python異常的類型。python中所有異常類型都是基類Exception的派生類。

那么在寫代碼的時候不用指定異常的具體類型,只要捕獲基類就等于捕獲了所有的異常,但輸出的是具體的異常信息,這很有利于在大范圍內找到具體的錯誤。

語法:

try:可能發生異常的代碼

except Excepthon as 信息變量:

print(信息變量)

例如:

            
gtq="光頭強"
try:
 print(name)
except Exception as e:
 print(type(e),e
print("gtq")

---
            
               name 'name' is not defined

---gtq


            
          

Python用Try語句捕獲異常的實例方法_第7張圖片

異常里的else子句

else子句是可選的,如果使用,必須放在所有的except子句之后。

它是在try子句沒有發生異常的情況執行。

例如:

            
gtq="光頭強"
try:
 name=gtq
except Exception as e:
 print(type(e),e)
else:
 print("%s是一個伐木工人"%name)

          

Python用Try語句捕獲異常的實例方法_第8張圖片

finally子句: 寫在try語句的最后。

不管 try 子句里面是否有異常,finally 子句都會執行。

例如:

            
gtq="光頭強"
try:
 name=GTQ
except Exception as e:
 print(type(e),e)
else:
 print("%s是一個伐木工人"%name)
finally:
 print("調用資料結束")

---
            
               name 'GTQ' is not defined

---調用資料結束

            
          

Python用Try語句捕獲異常的實例方法_第9張圖片


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 免费在线公开视频 | 99精品久久秒播无毒不卡 | jizzjizz视频| 天天操综合网 | 久久亚洲AV成人无码电影A片 | 欧美中文字幕 | 免费看欧美成人性色生活片 | 亚洲区一| 免费v片 | 免费观看黄色a一级视频播放 | 99热久久国产精品这里有9 | 五月天色婷婷在线 | 天天亚洲 | 中文区永久区 | 中文在线一区 | 91福利视频合集 | 日韩中文字幕在线播放 | 欧美激情刺激爽免费视频观看 | 久久综合性 | 人人性人人性碰国产 | 中国在线播放精品区 | 国产精品极品美女在线观看免费 | 另类国产ts人妖高潮系列视频 | 国产熟妇无码A片AAA毛片视频 | 草草视频在线 | 香港三级日本三级a视频 | 日韩成人精品在线 | 午夜精品久久久久久 | 欧美精品在线观看视频 | 亚洲国产乱 | 国产精品三级久久久久久电影 | 嫩草99| 国产精品久久久久久久久久 | 欧洲怡红院 | 精品欧美一区手机在线观看 | 精品久久久久久久久久 | 蜜桃五月天| 成人午夜精品久久久久久久小说 | 精品视频免费在线 | 麻豆短视频传媒网站怎么找 | 2022国产91精品久久久久久 |