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

Python捕獲異常堆棧信息的幾種方法(小結)

 更新時間:2020年05月18日 14:16:16   作者:xiemanR  
這篇文章主要介紹了Python捕獲異常堆棧信息的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

程序出錯的時候,我們往往需要根據異常信息來找到具體出錯的代碼。簡單地用print打印異常信息并不能很好地追溯出錯的代碼:

# -*- coding: utf-8 -*-
 
 
def foo(a, b):
  c = a + b
  raise ValueError('test')
  return c
 
 
def bar(a):
  print('a + 100:', foo(a, 100))
 
 
def main():
  try:
    bar(100)
  except Exception as e:
    print(repr(e))
 
if __name__ == '__main__':
  main()

輸出:

ValueError('test',)

打印的異常信息不夠詳細,對錯誤追蹤沒有多大幫助。這時候異常堆棧信息就派上用場了。下面簡單介紹幾種打印異常堆棧信息的方法。

1.最簡單的方法之一就是使用logging.exception

# -*- coding: utf-8 -*-
import logging
 
 
def foo(a, b):
  c = a + b
  raise ValueError('test')
  return c
 
 
def bar(a):
  print('a + 100:', foo(a, 100))
 
 
def main():
  try:
    bar(100)
  except Exception as e:
    logging.exception(e)
 
if __name__ == '__main__':
  main()

輸出:

ERROR:root:test
Traceback (most recent call last):
  File "E:/git_work/scrapy_ppt/test.py", line 16, in main
    bar(100)
  File "E:/git_work/scrapy_ppt/test.py", line 11, in bar
    print('a + 100:', foo(a, 100))
  File "E:/git_work/scrapy_ppt/test.py", line 6, in foo
    raise ValueError('test')
ValueError: test

從異常堆棧信息中我們可以不費力氣就找出錯誤代碼是哪一行。

2.其它方法:

# -*- coding: utf-8 -*-
import traceback
import sys
 
 
def foo(a, b):
  c = a + b
  raise ValueError('test')
  return c
 
 
def bar(a):
  print('a + 100:', foo(a, 100))
 
 
def main():
  try:
    bar(100)
  except Exception as e:
    # 方法二
    traceback.print_exc()
 
    # 方法三
    msg = traceback.format_exc()
    print(msg)
 
    et, ev, tb = sys.exc_info()
    # 方法四
    traceback.print_tb(tb)
 
    # 方法五
    traceback.print_exception(et, ev, tb)
 
    # 方法六
    msg = traceback.format_exception(et, ev, tb)
    for m in msg:
      print(m)
 
if __name__ == '__main__':
  main()

到此這篇關于Python捕獲異常堆棧信息的幾種方法(小結)的文章就介紹到這了,更多相關Python捕獲異常堆棧信息內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

相關文章

  • Python3非對稱加密算法RSA實例詳解

    Python3非對稱加密算法RSA實例詳解

    這篇文章主要介紹了Python3非對稱加密算法RSA,結合實例形式分析了Python3 RSA加密相關模塊安裝及使用操作技巧,需要的朋友可以參考下
    2018-12-12
  • Django處理文件上傳File Uploads的實例

    Django處理文件上傳File Uploads的實例

    今天小編就為大家分享一篇Django處理文件上傳File Uploads的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python利用format函數實現(xiàn)對齊打印(左對齊、右對齊與居中對齊)

    Python利用format函數實現(xiàn)對齊打印(左對齊、右對齊與居中對齊)

    format是字符串內嵌的一個方法,用于格式化字符串,下面這篇文章主要給大家介紹了關于Python利用format函數實現(xiàn)對齊打印(左對齊、右對齊與居中對齊)的相關資料,需要的朋友可以參考下
    2022-04-04
  • Python 中Pickle庫的使用詳解

    Python 中Pickle庫的使用詳解

    pickle是python語言的一個標準模塊,安裝python后已包含pickle庫,不需要單獨再安裝。這篇文章主要介紹了Python 中Pickle庫的使用詳解,需要的朋友可以參考下
    2018-02-02
  • TensorFlow高效讀取數據的方法示例

    TensorFlow高效讀取數據的方法示例

    這篇文章主要介紹了TensorFlow高效讀取數據的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • Ubuntu下使用Python實現(xiàn)游戲制作中的切分圖片功能

    Ubuntu下使用Python實現(xiàn)游戲制作中的切分圖片功能

    這篇文章主要介紹了Ubuntu下使用Python實現(xiàn)游戲制作中的切分圖片功能,涉及Python針對圖片的讀取、載入、切分運算等相關操作技巧,需要的朋友可以參考下
    2018-03-03
  • PyQt6+pyqtgraph折線圖繪制顯示功能

    PyQt6+pyqtgraph折線圖繪制顯示功能

    文章介紹了如何在PyQt6中使用pyqtgraph庫繪制和顯示折線圖,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • python實現(xiàn)身份證實名認證的方法實例

    python實現(xiàn)身份證實名認證的方法實例

    這篇文章主要給大家介紹了關于python實現(xiàn)身份證實名認證的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-11-11
  • python實戰(zhàn)之90行代碼寫個猜數字游戲

    python實戰(zhàn)之90行代碼寫個猜數字游戲

    這篇文章主要介紹了python實戰(zhàn)之90行代碼寫個猜數字,文中有非常詳細的代碼示例,對正在學習python的小伙伴們有很大的幫助,需要的朋友可以參考下
    2021-04-04
  • python遞歸法實現(xiàn)簡易連連看小游戲

    python遞歸法實現(xiàn)簡易連連看小游戲

    這篇文章主要為大家詳細介紹了python遞歸法實現(xiàn)簡易連連看小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07

最新評論

旬阳县| 昭苏县| 米泉市| 宿松县| 开原市| 新昌县| 延安市| 阜平县| 耒阳市| 贞丰县| 牟定县| 阿拉善盟| 得荣县| 洱源县| 自治县| 防城港市| 铅山县| 土默特右旗| 昌乐县| 香格里拉县| 榆社县| 双辽市| 丰都县| 扬中市| 寻甸| 龙川县| 屯留县| 平潭县| 遵义县| 正宁县| 英德市| 二手房| 田林县| 平阳县| 清流县| 鄂尔多斯市| 兴安盟| 道孚县| 清水河县| 张家口市| 鄂尔多斯市|