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

基于python traceback實(shí)現(xiàn)異常的獲取與處理

 更新時(shí)間:2019年12月13日 08:59:42   作者:jh11200  
這篇文章主要介紹了基于python traceback實(shí)現(xiàn)異常的獲取與處理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了基于python traceback實(shí)現(xiàn)異常的獲取與處理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

1、traceback.print_exc()

2、traceback.format_exc()

3、traceback.print_exception()

簡(jiǎn)單說(shuō)下這三個(gè)方法是做什么用的:

1、print_exc():是對(duì)異常棧輸出

2、format_exc():是把異常棧以字符串的形式返回,print(traceback.format_exc()) 就相當(dāng)于traceback.print_exc()

3、print_exception():traceback.print_exc()實(shí)現(xiàn)方式就是traceback.print_exception(sys.exc_info()),可以點(diǎn)sys.exc_info()進(jìn)

去看看實(shí)現(xiàn)

測(cè)試代碼如下:

def func(a, b):
  return a / b


if __name__ == '__main__':
  import sys
  import time
  import traceback

  try:
    func(1, 0)
  except Exception as e:
    print('***', type(e), e, '***')
    time.sleep(2)

    print("***traceback.print_exc():*** ")
    time.sleep(1)
    traceback.print_exc()
    time.sleep(2)

    print("***traceback.format_exc():*** ")
    time.sleep(1)
    print(traceback.format_exc())
    time.sleep(2)

    print("***traceback.print_exception():*** ")
    time.sleep(1)
    traceback.print_exception(*sys.exc_info())

運(yùn)行結(jié)果:

*** <class 'ZeroDivisionError'> division by zero ***


***traceback.print_exc():*** 
Traceback (most recent call last):
 File "E:/HttpRunnerManager-jh/ApiManager/tests.py", line 42, in <module>
  func(1, 0)
 File "E:/HttpRunnerManager-jh/ApiManager/tests.py", line 33, in func
  return a / b
ZeroDivisionError: division by zero


***traceback.format_exc():*** 
Traceback (most recent call last):
 File "E:/HttpRunnerManager-jh/ApiManager/tests.py", line 42, in <module>
  func(1, 0)
 File "E:/HttpRunnerManager-jh/ApiManager/tests.py", line 33, in func
  return a / b
ZeroDivisionError: division by zero


***traceback.print_exception():*** 
Traceback (most recent call last):
 File "E:/HttpRunnerManager-jh/ApiManager/tests.py", line 42, in <module>
  func(1, 0)
 File "E:/HttpRunnerManager-jh/ApiManager/tests.py", line 33, in func
  return a / b
ZeroDivisionError: division by zero

可以看出,三種方式打印結(jié)果是一樣的。在開(kāi)發(fā)時(shí),做調(diào)試是很方便的。也可以把這種異常棧寫(xiě)入日志。

logging.exception(ex)

# 指名輸出棧蹤跡, logging.exception的內(nèi)部也是包了一層此做法
logging.error(ex, exc_info=1) 

# 更加嚴(yán)重的錯(cuò)誤級(jí)別 
logging.critical(ex, exc_info=1) 

# 我直接copy的,未嘗試。有時(shí)間會(huì)試下的

python 還有一個(gè)模塊叫cgitb,輸出的error非常詳情。

  try:
    func(1, 0)
  except Exception as e:
    import cgitb
    cgitb.enable(format='text')
    func(1, 0)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 教你利用Python玩轉(zhuǎn)histogram直方圖的五種方法

    教你利用Python玩轉(zhuǎn)histogram直方圖的五種方法

    這篇文章主要給大家介紹了關(guān)于如何利用Python玩轉(zhuǎn)histogram直方圖的五種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • 用Python代碼來(lái)繪制彭羅斯點(diǎn)陣的教程

    用Python代碼來(lái)繪制彭羅斯點(diǎn)陣的教程

    這篇文章主要介紹了用Python代碼來(lái)繪制彭羅斯點(diǎn)陣的教程,核心代碼主要就是一行簡(jiǎn)單的lambda匿名函數(shù),需要的朋友可以參考下
    2015-04-04
  • 詳解如何通過(guò)Python批量轉(zhuǎn)換圖片為PDF

    詳解如何通過(guò)Python批量轉(zhuǎn)換圖片為PDF

    這篇文章主要為大家介紹了如何基于Python + Tkinter開(kāi)發(fā)的圖片批量轉(zhuǎn)PDF工具,可以支持批量添加圖片,拖拽等操作,感興趣的小伙伴可以參考一下
    2025-04-04
  • 詳解Python中的內(nèi)建函數(shù),可迭代對(duì)象,迭代器

    詳解Python中的內(nèi)建函數(shù),可迭代對(duì)象,迭代器

    這篇文章主要介紹了Python內(nèi)建函數(shù),可迭代對(duì)象,迭代器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 詳解Python中的日志模塊logging

    詳解Python中的日志模塊logging

    這篇文章主要介紹了Python中的日志模塊logging,包括Python下的日志級(jí)別以及模塊內(nèi)常用方法的使用,需要的朋友可以參考下
    2015-06-06
  • 如何基于matlab相機(jī)標(biāo)定導(dǎo)出xml文件

    如何基于matlab相機(jī)標(biāo)定導(dǎo)出xml文件

    這篇文章主要介紹了如何基于matlab相機(jī)標(biāo)定導(dǎo)出xml文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • pyinstaller打包多個(gè)py文件和去除cmd黑框的方法

    pyinstaller打包多個(gè)py文件和去除cmd黑框的方法

    今天小編就為大家分享一篇pyinstaller打包多個(gè)py文件和去除cmd黑框的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • python opencv把一張圖片嵌入(疊加)到另一張圖片上的實(shí)現(xiàn)代碼

    python opencv把一張圖片嵌入(疊加)到另一張圖片上的實(shí)現(xiàn)代碼

    這篇文章主要介紹了python opencv把一張圖片嵌入(疊加)到另一張圖片上,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python3+Selenium+Chrome實(shí)現(xiàn)自動(dòng)填寫(xiě)WPS表單

    Python3+Selenium+Chrome實(shí)現(xiàn)自動(dòng)填寫(xiě)WPS表單

    本文通過(guò)python3、第三方python庫(kù)Selenium和谷歌瀏覽器Chrome,完成WPS表單的自動(dòng)填寫(xiě),通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Python批量對(duì)word文件重命名的實(shí)現(xiàn)示例

    Python批量對(duì)word文件重命名的實(shí)現(xiàn)示例

    本文主要介紹了Python批量對(duì)word文件重命名的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07

最新評(píng)論

无棣县| 河东区| 岐山县| 湘乡市| 阿拉善左旗| 西乌珠穆沁旗| 黄浦区| 射洪县| 仲巴县| 乌兰察布市| 美姑县| 丹江口市| 南宁市| 赣州市| 满城县| 托里县| 宜城市| 扎赉特旗| 湾仔区| 平江县| 浦东新区| 密云县| 公安县| 昌江| 新蔡县| 搜索| 资阳市| 阿拉善左旗| 韶关市| 东乌| 赤水市| 新源县| 上犹县| 衡南县| 嘉黎县| 肃北| 大庆市| 青阳县| 包头市| 汶上县| 马山县|