traceback模組被用來跟蹤異常返回資訊. 如下例所示:
import tracebacktry:
raise syntaxerror, "traceback test"
except:
traceback.print_exc()
將會在控制台輸出類似結果:
traceback (most recent call last):file "h:\pythonworkspace\test\src\tracebacktest.py", line 3, in raise syntaxerror, "traceback test"
syntaxerror: traceback test
類似在你沒有捕獲異常時候, 直譯器所返回的結果.
你也可以傳入乙個檔案, 把返回資訊寫到檔案中去, 如下:
import tracebackimport stringio
try:
raise syntaxerror, "traceback test"
except:
fp = stringio.stringio() #建立記憶體檔案物件
traceback.print_exc(file=fp)
message = fp.getvalue()
print message
這樣在控制台輸出的結果和上面例子一樣
traceback模組還提供了extract_tb函式來格式化跟蹤返回資訊, 得到包含錯誤資訊的列表, 如下:
import tracebackimport 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 tracebacktest()h:\pythonworkspace\test\src\tracebacktest.py line: 5 in tracebacktest
raise syntaxerror, "traceback test"
** : traceback test
logger.info(traceback.format_exc())
python異常處理模組之traceback
為了更直觀的顯示錯誤並將其異常詳情列印出來故使用traceback來實現,下面是對其的詳細介紹 下面來介紹traceback模組來進行處理 首先 import traceback try 1 0 except exception,e print e 輸出結果是integer division or ...
python中 python中的 與
這一部分首先要理解python記憶體機制,python中萬物皆物件。對於不可變物件,改變了原來的值,其別名 變數名 繫結到了新值上面,id肯定會改變 對於可變物件,操作改變了值,id肯定會變,而 是本地操作,其值原地修改 對於 號操作,可變物件和不可變物件呼叫的都是 add 操作 對於 號操作,可變...
python中的物件 Python中的變數 物件
由於沒時間系統學習下python 只能見乙個問題 乙個問題了 一 初級 物件 關於python中的資料型別,今天重新認識了下。參考 首先,python中,物件才有型別,變數是沒有型別的,它只是物件的 引用 其次,python中物件被分為兩類 可更改物件和不可更改物件 包括numbers,string...