sys.exc_info() 返回一個tuple,能取得 (type, value, traceback)
例:
>>> sys.exc_info() (
, Empty(), )
我取出 traceback 出來用
traceback = sys.exc_info()[2]
而 traceback.tb_lineno 能列印錯誤行數
所以我將程式改寫並包裝成一個函數來使用traceback(err) 顯示錯誤的時間、錯誤訊息,錯誤的所在行數
import sys, time def traceback(err): now = time.strftime('%H:%M:%S', time.localtime(time.time())) traceback = sys.exc_info()[2] print now, err, 'exception in line', traceback.tb_lineno
沒有留言:
張貼留言