最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2019年06月26日 16:10:51   作者:Ma_Qiao2020  
在本篇文章中小編給大家整理了關(guān)于Python用Try語句如何捕獲異常的相關(guān)知識點內(nèi)容,需要的朋友們參考下。

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

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

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

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

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

如何處理異常:

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

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

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

語法:

try:
可能發(fā)生異常的代碼
except 異常類型:
捕獲的異常后要執(zhí)行的代碼

try 語句的工作原理如下。

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

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

3)執(zhí)行 except 子句 ,如果引發(fā)異常的類型和 except 關(guān)鍵字后面的異常匹配,就是捕獲了異常,執(zhí)行except子句。

例如:

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

 

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

捕獲多個異常

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

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

例如:

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

 

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

try:可能發(fā)生異常的代碼

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"])

捕獲所有異常

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

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

語法:

try:可能發(fā)生異常的代碼

except Excepthon as 信息變量:

print(信息變量)

例如:

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

---<class 'NameError'> name 'name' is not defined

---gtq

異常里的else子句

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

它是在try子句沒有發(fā)生異常的情況執(zhí)行。

例如:

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

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

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

例如:

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

---<class 'NameError'> name 'GTQ' is not defined

---調(diào)用資料結(jié)束

相關(guān)文章

  • Python使用sigthief簽發(fā)證書的實現(xiàn)步驟

    Python使用sigthief簽發(fā)證書的實現(xiàn)步驟

    Windows 系統(tǒng)中的一些非常重要文件通常會被添加數(shù)字簽名,其目的是用來防止被篡改,能確保用戶通過互聯(lián)網(wǎng)下載時能確信此代碼沒有被非法篡改和來源可信,從而保護了代碼的完整性、保護了用戶不會被病毒、惡意代碼和間諜軟件所侵害,本章將演示證書的簽發(fā)與偽造
    2021-06-06
  • Python實現(xiàn)AVIF圖片與其他圖片格式間的批量轉(zhuǎn)換

    Python實現(xiàn)AVIF圖片與其他圖片格式間的批量轉(zhuǎn)換

    這篇文章主要為大家詳細介紹了如何使用 Pillow 庫實現(xiàn)AVIF與其他格式的相互轉(zhuǎn)換,即將AVIF轉(zhuǎn)換為常見的格式,比如 JPG 或 PNG,需要的小伙伴可以參考下
    2025-04-04
  • Python實現(xiàn)括號匹配方法詳解

    Python實現(xiàn)括號匹配方法詳解

    這篇文章主要介紹了python實現(xiàn)括號匹配方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • PyCharm 接入 DeepSeek最新完整教程

    PyCharm 接入 DeepSeek最新完整教程

    文章介紹了DeepSeek-V3模型的性能提升以及如何在PyCharm中接入和使用DeepSeek進行代碼開發(fā),本文通過圖文并茂的形式給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2025-02-02
  • python調(diào)用dll出現(xiàn)精度問題解決

    python調(diào)用dll出現(xiàn)精度問題解決

    本文主要介紹了python調(diào)用dll出現(xiàn)精度問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • python實現(xiàn)web郵箱掃描的示例(附源碼)

    python實現(xiàn)web郵箱掃描的示例(附源碼)

    這篇文章主要介紹了python實現(xiàn)web郵箱掃描的示例(附源碼),幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-03-03
  • Python Excel實現(xiàn)自動添加編號

    Python Excel實現(xiàn)自動添加編號

    這篇文章主要為大家詳細介紹了如何使用Python在Excel中實現(xiàn)自動添加編號效果,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-03-03
  • pandas實現(xiàn)導出數(shù)據(jù)的四種方式

    pandas實現(xiàn)導出數(shù)據(jù)的四種方式

    這篇文章主要介紹了pandas實現(xiàn)導出數(shù)據(jù)的四種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • requests在python中發(fā)送請求的實例講解

    requests在python中發(fā)送請求的實例講解

    在本篇文章里小編給大家整理的是一篇關(guān)于requests在python中發(fā)送請求的實例講解內(nèi)容,有興趣的朋友們可以測試學習下。
    2021-02-02
  • python 切片和range()用法說明

    python 切片和range()用法說明

    首先需要明白,可迭代對象,按照正數(shù)索引(正序)是從0開始的,按照負數(shù)索引(逆序)是從-1開始的
    2013-03-03

最新評論

汉寿县| 万年县| 宁河县| 普宁市| 如东县| 辽源市| 蓝山县| 南昌市| 红河县| 普兰店市| 兰西县| 昭平县| 建水县| 张家口市| 温泉县| 曲周县| 思茅市| 长武县| 尤溪县| 崇仁县| 华坪县| 凯里市| 湖南省| 开封县| 旌德县| 瑞昌市| 牡丹江市| 襄垣县| 虞城县| 荔浦县| 宝丰县| 外汇| 信阳市| 武山县| 衡水市| 周至县| 钦州市| 嘉善县| 五家渠市| 班戈县| 合水县|