Python中的traceback模块
生活随笔
收集整理的這篇文章主要介紹了
Python中的traceback模块
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python中的traceback模塊traceback模塊被用來跟蹤異常返回信息. 如下例所示:
import traceback
try:
??? raise SyntaxError, "traceback test"
except:
??? traceback.print_exc()
將會在控制臺輸出類似結果:
Traceback (most recent call last):
? File "H:\PythonWorkSpace\Test\src\TracebackTest.py", line 3, in <module>
??? raise SyntaxError, "traceback test"
SyntaxError: traceback test
類似在你沒有捕獲異常時候, 解釋器所返回的結果.
你也可以傳入一個文件, 把返回信息寫到文件中去, 如下:
import traceback
import StringIO
try:
??? raise SyntaxError, "traceback test"
except:
??? fp = StringIO.StringIO()????#創建內存文件對象
??? traceback.print_exc(file=fp)
??? message = fp.getvalue()
??? print message
這樣在控制臺輸出的結果和上面例子一樣
traceback模塊還提供了extract_tb函數來格式化跟蹤返回信息, 得到包含錯誤信息的列表, 如下:
import traceback
import sys
def tracebacktest():
??? raise SyntaxError, "traceback test"
try:
??? tracebacktest()
except:
??? info = sys.exc_info()
??? for file, lineno, function, text in traceback.extract_tb(info[2]):
??????? print file, "line:", lineno, "in", function
??????? print text
??? print "** %s: %s" % info[:2]
H:\PythonWorkSpace\Test\src\TracebackTest.py line: 7 in <module>
tracebacktest()
H:\PythonWorkSpace\Test\src\TracebackTest.py line: 5 in tracebacktest
raise SyntaxError, "traceback test"
** <type 'exceptions.SyntaxError'>: traceback test
總結
以上是生活随笔為你收集整理的Python中的traceback模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 绝对经典的滑动门特效代码
- 下一篇: win10显卡驱动如何安装