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

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

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

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

1、traceback.print_exc()

2、traceback.format_exc()

3、traceback.print_exception()

簡單說下這三個方法是做什么用的:

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

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

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

去看看實現(xiàn)

測試代碼如下:

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

運行結(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é)果是一樣的。在開發(fā)時,做調(diào)試是很方便的。也可以把這種異常棧寫入日志。

logging.exception(ex)

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

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

# 我直接copy的,未嘗試。有時間會試下的

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

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

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

相關(guān)文章

  • Python序列化pickle模塊使用詳解

    Python序列化pickle模塊使用詳解

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

    解決pycharm無法識別本地site-packages的問題

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

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

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

    Anaconda安裝OpenCV的方法圖文教程

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

    windows中python實現(xiàn)自動化部署

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

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

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

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

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

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

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

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

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

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

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

最新評論