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
 
沒有留言:
張貼留言