為了更直觀的顯示錯誤並將其異常詳情列印出來故使用traceback來實現,下面是對其的詳細介紹
下面來介紹traceback模組來進行處理
首先 import traceback
try: 1/0
except
exception, e:
print e
輸出結果是integer division or modulo by zero,只知道是報了這個錯,但是卻不知道在哪個檔案哪個函式哪一行報的錯。
使用traceback
try: 1/0
except
exception, e:
traceback.print_exc()
輸出結果
traceback (most recent call last):
file "test_traceback.py", line 3, in
1/0zerodivisionerror: integer division or modulo by zero
這樣非常直觀有利於除錯。
traceback.print_exc()跟traceback.format_exc()有什麼區別呢?
format_exc()返回字串,print_exc()則直接給列印出來。
即traceback.print_exc()與print traceback.format_exc()效果是一樣的。
print_exc()還可以接受file引數直接寫入到乙個檔案。比如
traceback.print_exc(file=open('tb.txt','w+'))
寫入到tb.txt檔案去。
python之異常處理 Python之異常處理
異常物件 請大家執行如下 a 100 0 print a 就會發現直譯器顯示如下的錯誤提示 traceback most recent call last file x.py line 1,in a 100 0 zerodivisionerror division by zero 大家要學會看直譯器...
Python之異常處理
在程式執行過程中影響程式正常執行的內容,稱為異常 nameerror print a indexerror 索引錯誤 li 1,2,3,4 print li 8 keyerror d dict a 1,b 2 print d f zerodivisionerror 除0錯誤 print 10 2 2...
Python之異常處理
try ret int input num 正常執行的 print ret except valueerror 捕捉錯誤 print 請輸入數字 try ret int input num 正常執行的 print ret except valueerror 捕捉錯誤 print 請輸入數字 exce...