python列印異常資訊

2021-08-19 15:16:23 字數 1034 閱讀 9854

異常資訊的獲取對於程式的除錯非常重要,可以有助於快速定位有錯誤程式語句的位置。下面介紹幾種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使用,並最...