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

Python 捕獲代碼中所有異常的方法

 更新時間:2020年08月03日 16:44:50   作者:David Beazley  
這篇文章主要介紹了Python 捕獲代碼中所有異常的方法,文中講解非常細致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下

問題

怎樣捕獲代碼中的所有異常?

解決方案

想要捕獲所有的異常,可以直接捕獲 Exception 即可:

try:
  ...
except Exception as e:
  ...
  log('Reason:', e)    # Important!

這個將會捕獲除了 SystemExit 、 KeyboardInterruptGeneratorExit 之外的所有異常。 如果你還想捕獲這三個異常,將 Exception 改成 BaseException 即可。

討論

捕獲所有異常通常是由于程序員在某些復(fù)雜操作中并不能記住所有可能的異常。 如果你不是很細心的人,這也是編寫不易調(diào)試代碼的一個簡單方法。

正因如此,如果你選擇捕獲所有異常,那么在某個地方(比如日志文件、打印異常到屏幕)打印確切原因就比較重要了。 如果你沒有這樣做,有時候你看到異常打印時可能摸不著頭腦,就像下面這樣:

def parse_int(s):
  try:
    n = int(v)
  except Exception:
    print("Couldn't parse")

試著運行這個函數(shù),結(jié)果如下:

>>> parse_int('n/a')
Couldn't parse
>>> parse_int('42')
Couldn't parse
>>>

這時候你就會撓頭想:“這咋回事???” 假如你像下面這樣重寫這個函數(shù):

def parse_int(s):
  try:
    n = int(v)
  except Exception as e:
    print("Couldn't parse")
    print('Reason:', e)

這時候你能獲取如下輸出,指明了有個編程錯誤:

>>> parse_int('42')
Couldn't parse
Reason: global name 'v' is not defined
>>>

很明顯,你應(yīng)該盡可能將異常處理器定義的精準一些。 不過,要是你必須捕獲所有異常,確保打印正確的診斷信息或?qū)惓鞑コ鋈?,這樣不會丟失掉異常。

以上就是Python 捕獲代碼中所有異常的方法的詳細內(nèi)容,更多關(guān)于Python 捕獲異常的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 我對PyTorch dataloader里的shuffle=True的理解

    我對PyTorch dataloader里的shuffle=True的理解

    這篇文章主要介紹了我對PyTorch dataloader里的shuffle=True的理解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 教你用Python寫一個水果忍者小游戲

    教你用Python寫一個水果忍者小游戲

    水果忍者游戲,又稱切水果游戲,玩法簡單,水果忍者游戲在兒童中很受歡迎,下面這篇文章主要給大家介紹了關(guān)于如何利用Python寫一個水果忍者小游戲的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Python API 操作Hadoop hdfs詳解

    Python API 操作Hadoop hdfs詳解

    這篇文章主要介紹了Python API 操作Hadoop hdfs詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python實現(xiàn)中值濾波去噪方式

    Python實現(xiàn)中值濾波去噪方式

    今天小編就為大家分享一篇Python實現(xiàn)中值濾波去噪方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • gethostbyaddr在Python3中引發(fā)UnicodeDecodeError

    gethostbyaddr在Python3中引發(fā)UnicodeDecodeError

    本文介紹了gethostbyaddr()在Python?3中引發(fā)UnicodeDecodeError的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-05-05
  • Python幫你解決手機qq微信內(nèi)存占用太多問題

    Python幫你解決手機qq微信內(nèi)存占用太多問題

    你有沒有發(fā)現(xiàn)以前16G內(nèi)存也可以裝幾個游戲玩,現(xiàn)在128G的卻日常使用都不夠了?更不用說裝什么游戲,這其實是軟件內(nèi)存占用過多導(dǎo)致的,今天我們用python來清理下
    2022-02-02
  • Python Excel處理庫openpyxl詳解

    Python Excel處理庫openpyxl詳解

    這篇文章主要介紹了Python Excel處理庫openpyxl詳解,需要的朋友可以參考下
    2021-05-05
  • 為什么Python中沒有

    為什么Python中沒有"a++"這種寫法

    一開始學(xué)習(xí) Python 的時候習(xí)慣性的使用 C 中的 a++ 這種寫法,發(fā)現(xiàn)會報 SyntaxError: invalid syntax 錯誤,為什么 Python 沒有自增運算符的這種寫法呢?下面小編給大家?guī)肀疚膸椭蠹伊私庀逻@方面的知識
    2018-11-11
  • 詳解如何使用Python操作MySQL的各種功能和用法

    詳解如何使用Python操作MySQL的各種功能和用法

    當今互聯(lián)網(wǎng)時代,數(shù)據(jù)處理已經(jīng)成為了一個非常重要的任務(wù),而MySQL作為一款開源的關(guān)系型數(shù)據(jù)庫,被廣泛應(yīng)用于各種場景,本篇博客將介紹如何使用Python操作MySQL的各種功能,以及一些高級用法,需要的朋友可以參考下
    2023-11-11
  • 利用Python對哥德巴赫猜想進行檢驗和推理

    利用Python對哥德巴赫猜想進行檢驗和推理

    數(shù)學(xué)是一個奇妙的東西,對此,也衍生出了許多的悖論與猜想。這篇文章會對哥德巴赫猜想用編程語言進行檢驗和推理,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-12-12

最新評論

株洲县| 博罗县| 枣阳市| 朝阳市| 宁武县| 阳曲县| 黑水县| 桃园县| 安塞县| 璧山县| 滕州市| 日照市| 界首市| 温泉县| 嵊州市| 乾安县| 恭城| 昭觉县| 肥西县| 中牟县| 峡江县| 无锡市| 甘泉县| 砀山县| 芜湖县| 琼结县| 泽普县| 平泉县| 五大连池市| 神农架林区| 上饶市| 清远市| 钟祥市| 潼关县| 汉阴县| 容城县| 定安县| 阿尔山市| 杭锦旗| 商丘市| 信丰县|