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

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

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

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

# -*- 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',)

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

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

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

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()

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

相關(guān)文章

最新評論

江达县| 科技| 乐陵市| 绥滨县| 班玛县| 津南区| 英德市| 岳普湖县| 马龙县| 保定市| 宜都市| 清涧县| 定日县| 苍溪县| 庆城县| 东乌珠穆沁旗| 永州市| 桓台县| 陈巴尔虎旗| 红桥区| 留坝县| 民县| 黑山县| 太仆寺旗| 汤原县| 石棉县| 水富县| 泽州县| 新宁县| 惠来县| 松桃| 邻水| 朝阳县| 神农架林区| 呼和浩特市| 南投县| 农安县| 湘阴县| 洛扎县| 剑河县| 太谷县|