python中try except處理程序異常的三種常用方法


如果你在寫python程序時遇到異常后想進行如下處理的話,一般用try來處理異常,假設有下面的一段程序:

try:
    語句1
    語句2
    .
    .
    語句N
except .........:
    do something .......

但是你並不知道"語句1至語句N"在執行會出什么樣的異常,但你還要做異常處理,且想把出現的異常打印出來,並不停止程序的運行,所以在"except ......"這句應怎樣來寫呢?

總結了一下3個方法

方法一:捕獲所有異常

try:  
    a=b  
    b=c  
except Exception,e:  
    print Exception,":",e

方法二:采用traceback模塊查看異常

#引入python中的traceback模塊,跟蹤錯誤
import traceback  
try:  
    a=b  
    b=c  
except:  
    traceback.print_exc()

方法三:采用sys模塊回溯最后的異常

#引入sys模塊
import sys  
try:  
    a=b  
    b=c  
except:  
    info=sys.exc_info()  
    print info[0],":",info[1]

但是,如果你還想把這些異常保存到一個日志文件中,來分析這些異常,那么請看下面的方法:

把traceback.print_exc()打印在屏幕上的信息保存到一個文本文件中

import traceback
try:  
    a=b  
    b=c  
except:  
    f=open("c:log.txt",'a')  
    traceback.print_exc(file=f)  
    f.flush()  
    f.close()

 轉自:http://blog.csdn.net/u014717398/article/details/63252886


免責聲明!

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



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