traceback模塊

異常處理是日常操作了,但是有時候不能只能打印我們處理的結果,還需要將我們的異常打印出來,這樣更直觀的顯示錯誤

 try:
     1/0
except Exception,e:
    print e

 如果這樣輸出結果是integer division or modulo by zero,只知道是報了這個錯,但是卻不知道在哪個文件哪個函數哪一行報的錯

下面來介紹traceback模塊來進行處理

 try:
     1/0
except Exception,e:
    traceback.print_exec()

輸出爲:

Traceback (most recent call last): 
File “test_traceback.py”, line 3, in 
1/0 
ZeroDivisionError: integer division or modulo by zero 

traceback.print_exc(),traceback.format_exc(),traceback.print_exception()三者的區別

1、print_exc()  # 是對異常棧輸出
2、format_exc() # 是把異常棧以字符串的形式返回,print(traceback.format_exc()) 就相當於traceback.print_exc()
3、print_exception() # traceback.print_exc()實現方式就是traceback.print_exception(sys.exc_info()),可以點sys.exc_info()進去看看實現

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章