python打印異常信息


異常信息的獲取對於程序的調試非常重要,可以有助於快速定位有錯誤程序語句的位置。下面介紹幾種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/0
except 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()

參考:http://www.cnblogs.com/klchang/p/4635040.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM