異常資訊的獲取對於程式的除錯非常重要,可以有助於快速定位有錯誤程式語句的位置。下面介紹幾種python中獲取異常資訊的方法,這裡獲取異常(exception)資訊採用try…except…程式結構。如下所示
try:
exceptexception, e:
1、str(e)
返回字串型別,只給出異常資訊,不包括異常資訊的型別,如1/0的異常資訊
『integer division or modulo by zero』
2、repr(e)
給出較全的異常資訊,包括異常資訊的型別,如1/0的異常資訊
「zerodivisionerror(『integer division or modulo by zero』,)」
3、e.message
獲得的資訊同str(e)
4、採用traceback模組
需要匯入traceback模組,此時獲取的資訊最全,與python命令列執行程式出現錯誤資訊一致。使用traceback.print_exc()列印異常資訊到標準錯誤,就像沒有獲取一樣,或者使用traceback.format_exc()將同樣的輸出獲取為字串。你可以向這些函式傳遞各種各樣的引數來限制輸出,或者重新列印到像檔案型別的物件。
import traceback
try:
1/0except exception, e:
print
'str(exception):\t', str(exception)
print
'str(e):\t\t', str(e)
print
'repr(e):\t', repr(e)
print
'e.message:\t', e.message
print
'traceback.print_exc():'; traceback.print_exc()
print
'traceback.format_exc():\n%s' % traceback.format_exc()
Python列印更詳細的異常資訊
列印python異常資訊的幾種方式 try a 1 0 except exception as e print e 列印最簡單的message資訊 division by zero import traceback try a 1 0 except exception as e print str ...
python列印異常資訊的兩種實現方式
1.直接列印錯誤 try your code excepwww.cppcns.comt keyboardinterrupt print quit except exception as ex print 出現如下異常 s ex 如下例子 try 2 0except exception as e pr...
log4j列印異常資訊,未列印堆疊
使用logger.error方法時只能列印出異常型別,無法列印出詳細的堆疊資訊,使得定位問題變得困難和不方便。logger類下有多個不同的error方法,根據傳入引數的個數及型別的不同,自動選擇不同的過載方法。當error object obj 只傳入乙個引數時會將異常物件作為object使用,並最...