欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于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序列化pickle模塊使用詳解

    Python序列化pickle模塊使用詳解

    這篇文章主要介紹了Python序列化pickle模塊使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 解決pycharm無(wú)法識(shí)別本地site-packages的問(wèn)題

    解決pycharm無(wú)法識(shí)別本地site-packages的問(wèn)題

    今天小編就為大家分享一篇解決pycharm無(wú)法識(shí)別本地site-packages的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Python Numpy中數(shù)組的集合操作詳解

    Python Numpy中數(shù)組的集合操作詳解

    這篇文章主要為大家詳細(xì)介紹了Python Numpy中數(shù)組的一些集合操作方法,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下
    2022-08-08
  • Anaconda安裝OpenCV的方法圖文教程

    Anaconda安裝OpenCV的方法圖文教程

    在Anaconda里安裝OpenCV的方法有很多,下面這篇文章主要給大家介紹了關(guān)于Anaconda安裝OpenCV的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • windows中python實(shí)現(xiàn)自動(dòng)化部署

    windows中python實(shí)現(xiàn)自動(dòng)化部署

    本文主要介紹了windows中python實(shí)現(xiàn)自動(dòng)化部署,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • pandas 數(shù)據(jù)實(shí)現(xiàn)行間計(jì)算的方法

    pandas 數(shù)據(jù)實(shí)現(xiàn)行間計(jì)算的方法

    今天小編就為大家分享一篇pandas 數(shù)據(jù)實(shí)現(xiàn)行間計(jì)算的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • python端口掃描系統(tǒng)實(shí)現(xiàn)方法

    python端口掃描系統(tǒng)實(shí)現(xiàn)方法

    這篇文章主要介紹了python端口掃描系統(tǒng)實(shí)現(xiàn)方法,可實(shí)現(xiàn)簡(jiǎn)單的外網(wǎng)IP掃描及寫(xiě)入MySQL數(shù)據(jù)庫(kù)等功能,需要的朋友可以參考下
    2014-11-11
  • Python中函數(shù)的定義及其調(diào)用

    Python中函數(shù)的定義及其調(diào)用

    這篇文章主要介紹了Python中函數(shù)定義及其調(diào)用,感興趣的朋友可以來(lái)了解一下
    2021-06-06
  • 搞笑的程序猿:看看你是哪種Python程序員

    搞笑的程序猿:看看你是哪種Python程序員

    這篇文章主要介紹了搞笑的程序猿:看看你是哪種Python程序員,不久前,在互聯(lián)網(wǎng)上出現(xiàn)了一篇有趣的文章,講的是對(duì)于同一個(gè)問(wèn)題,不同層次的Python程序員編出的Python代碼,顯示出了不同的風(fēng)格,代碼都很簡(jiǎn)單,有趣,需要的朋友可以參考下
    2015-06-06
  • Python實(shí)現(xiàn)Wordcloud生成詞云圖的示例

    Python實(shí)現(xiàn)Wordcloud生成詞云圖的示例

    這篇文章主要介紹了Python實(shí)現(xiàn)Wordcloud生成詞云圖的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03

最新評(píng)論