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

Python中異常捕獲與處理的方法總結(jié)

 更新時間:2023年04月27日 08:59:43   作者:輕松學(xué)Python  
Python異常是在程序執(zhí)行時發(fā)生的錯誤,可能會導(dǎo)致程序終止運行。這篇文章主要為大家總結(jié)了Python中異常捕獲與處理的方法,需要的可以參考一下

Python異常是在程序執(zhí)行時發(fā)生的錯誤,可能會導(dǎo)致程序終止運行。

在Python中,異常處理是一種機制,它允許開發(fā)人員在程序發(fā)生異常時捕獲、處理和報告這些異常,以便程序可以繼續(xù)運行或在出現(xiàn)異常時進行優(yōu)雅的退出。

在Python中,異??梢允菢藴十惓#ɡ鏢yntaxError和TypeError)或自定義異常。標準異常是由Python內(nèi)部定義的,而自定義異常是由開發(fā)人員定義的,通常用于特定的應(yīng)用程序或庫。

以下是一些常見的Python異常:

  • SyntaxError:語法錯誤,通常是由于語法錯誤導(dǎo)致的,如缺少括號、冒號等。
  • TypeError:類型錯誤,通常是由于將不同類型的對象組合在一起而引起的,如將字符串和數(shù)字相加。
  • ValueError:值錯誤,通常是由于提供的值不符合預(yù)期的范圍或格式而引起的,如將字符串轉(zhuǎn)換為整數(shù)時提供的字符串無效。
  • IndexError:索引錯誤,通常是由于嘗試訪問列表或元組中不存在的元素而引起的。
  • KeyError:鍵錯誤,通常是由于嘗試訪問字典中不存在的鍵而引起的。
  • IOError:輸入/輸出錯誤,通常是由于嘗試讀取或?qū)懭胛募r出現(xiàn)問題而引起的。
  • AttributeError:屬性錯誤,通常是由于嘗試訪問對象不存在的屬性或方法而引起的。

在Python中,可以使用try-except語句來捕獲異常并處理它們。try語句包含可能會導(dǎo)致異常的代碼,而except語句定義了在捕獲異常時要執(zhí)行的代碼。

可以使用多個except語句來捕獲不同類型的異常,try-except 還可以跟else 進行搭配,它的含義就是當 try 語句沒有檢測到任何異常的情況下,就執(zhí)行 else 語句的內(nèi)容,另外也可以使用finally語句定義在try語句塊之后始終要執(zhí)行的代碼。

例如:

案例1:使用try-except語句來捕獲異常并處理它們

舉例:

try:
100/0 # 可能會導(dǎo)致異常的代碼

except ZeroDivisionError: #(捕獲特定的異常類型ZeroDivisionError,ZeroDivisionError是Python中的內(nèi)置異常類之一,用于表示在除數(shù)為零的情況下進行了除法操作所引發(fā)的異常。)

    print('因為這里打印出異常類型:除數(shù)不能為0。')# 處理值錯誤的代碼

案例2:使用try-except語句搭配else語句(當 try 語句沒有檢測到任何異常的情況下,就執(zhí)行 else 語句的內(nèi)容)

當 try 語句檢測到任何異常的情況下,則不執(zhí)行else 語句的內(nèi)容

>>> try:
...     1 / 0
... except:
...     print("逮到了~")
... else:
...     print("沒逮到~")
...

逮到了~

如果在 try 語句中檢測到異常,那么就執(zhí)行 except 語句的異常處理內(nèi)容:

>>> try:
...     1 / 1
... except:
...     print("逮到了~")
... else:
...     print("沒逮到~")
...
1.0

沒逮到~

案例3:使用try-except語句搭配finally語句(無論異常發(fā)生與否,都必須要執(zhí)行的語句finally語句)

舉例:

try:
‘abc’+ 123

except TypeError: #TypeError為類型錯誤,通常是由于將不同類型的對象組合在一起而引起的,如將字符串和數(shù)字相加。
    print('因為這里打印出異常類型:類型錯誤。')# 處理類型錯誤的代碼
finally:
    print('不論是否無法異常,都執(zhí)行這句話') # 無論是否發(fā)生異常都會執(zhí)行的代碼

異常處理是Python中的重要概念之一,開發(fā)人員應(yīng)該了解如何正確地捕獲和處理異常,以確保程序的穩(wěn)定性和可靠性。

進階:捕獲異常的方法

捕獲異常的兩種方法:不管是何種異常,都捕獲異常信息。

1.使用Exception:所有的異常都是 Exception 的子類。所以 Exception能匹配所有類型的異常。

舉例:

>>> try:
    100/0
except Exception  as e:
    print('未知異常:', e)
# 對于很多剛學(xué)Python或者是學(xué)著學(xué)著迷茫了的小伙伴,我給大家準備了一套Python的學(xué)習(xí)資料。
# 包括數(shù)百本電子書、Python基礎(chǔ)視頻教程、項目實戰(zhàn),疑難解答,直接在文末名片自取。
   
未知異常: division by zero
>>>

可以正常捕獲到異常的原因,但不能輸出詳細的異常信息(發(fā)送異常的位置和異常的代碼)。

2.使用traceback模塊:使用traceback模塊里面的format_exc函數(shù),可以顯示異常的信息 和 異常產(chǎn)生處的函數(shù)調(diào)用棧的信息。

舉例:

>>>  import traceback
>>>  try:
    100/0
except  :
    print(traceback.format_exc())
 
 
Traceback (most recent call  last):
  File "<pyshell#5>", line 2, in <module>
ZeroDivisionError: division by  zero
>>>

上面的代碼會打印出導(dǎo)致異常的詳細的函數(shù)調(diào)用棧的信息

到此這篇關(guān)于Python中異常捕獲與處理的方法總結(jié)的文章就介紹到這了,更多相關(guān)Python異常內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python定向爬取淘寶商品價格

    python定向爬取淘寶商品價格

    這篇文章主要為大家詳細介紹了python定向爬取淘寶商品價格,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Python字符串str超詳細詳解(適合新手!)

    Python字符串str超詳細詳解(適合新手!)

    str函數(shù)是Python的內(nèi)置函數(shù),它將參數(shù)轉(zhuǎn)換成字符串類型,即人適合閱讀的形式,下面這篇文章主要給大家介紹了關(guān)于Python字符串str超詳細詳解的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • Python中的日期時間處理詳解

    Python中的日期時間處理詳解

    Python程序能用很多方式處理日期和時間。轉(zhuǎn)換日期格式是一個常見的例行瑣事,這篇文章主要介紹了Python中的日期時間處理的幾種方式的區(qū)別和聯(lián)系,需要的朋友可以參考下
    2016-11-11
  • python如何將文件a.txt的內(nèi)容復(fù)制到b.txt中

    python如何將文件a.txt的內(nèi)容復(fù)制到b.txt中

    這篇文章主要介紹了python如何將文件a.txt的內(nèi)容復(fù)制到b.txt中,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python使用tkinter調(diào)整label背景顏色的測試

    python使用tkinter調(diào)整label背景顏色的測試

    這篇文章主要介紹了python使用tkinter調(diào)整label背景顏色的測試方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • django實現(xiàn)用戶登陸功能詳解

    django實現(xiàn)用戶登陸功能詳解

    這篇文章主要介紹了django實現(xiàn)用戶登陸功能詳解,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • TensorFlow實現(xiàn)checkpoint文件轉(zhuǎn)換為pb文件

    TensorFlow實現(xiàn)checkpoint文件轉(zhuǎn)換為pb文件

    今天小編就為大家分享一篇TensorFlow實現(xiàn)checkpoint文件轉(zhuǎn)換為pb文件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python常用爬蟲代碼總結(jié)方便查詢

    Python常用爬蟲代碼總結(jié)方便查詢

    今天小編就為大家分享一篇關(guān)于Python常用爬蟲代碼總結(jié)方便查詢,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Python讀寫ini文件的方法

    Python讀寫ini文件的方法

    這篇文章主要介紹了Python讀寫ini文件的方法,實例分析了Python針對ini配置文件的讀寫及修改等操作技巧,需要的朋友可以參考下
    2015-05-05
  • Python中函數(shù)及默認參數(shù)的定義與調(diào)用操作實例分析

    Python中函數(shù)及默認參數(shù)的定義與調(diào)用操作實例分析

    這篇文章主要介紹了Python中函數(shù)及默認參數(shù)的定義與調(diào)用操作,結(jié)合實例形式分析了Python中函數(shù)的定義及參數(shù)的使用技巧,需要的朋友可以參考下
    2017-07-07

最新評論

枞阳县| 延安市| 东丽区| 屏山县| 长丰县| 永定县| 明光市| 永吉县| 布尔津县| 新乐市| 荃湾区| 贺兰县| 上林县| 监利县| 太和县| 中超| 新兴县| 渑池县| 临汾市| 申扎县| 武隆县| 方山县| 北海市| 镶黄旗| 东方市| 嘉荫县| 崇左市| 怀柔区| 淅川县| 娱乐| 崇义县| 东丽区| 鄂州市| 祥云县| 巢湖市| 平武县| 尖扎县| 彭泽县| 正宁县| 方正县| 崇明县|