如果你在寫python程序時遇到異常后想進行如下處理的話,一般用try來處理異常,假設有下面的一段程序:
- try:
- 語句1
- 語句2
- .
- .
- 語句N
- except.........:
- do something .......
但是你并不知道"語句1至語句N"在執行會出什么樣的異常,但你還要做異常處理,且想把出現的異常打印出來,并不停止程序的運行,所以在"except ......"這句應怎樣來寫呢?
3個方法
總結了一下:
方法一:捕獲所有異常
- try:
- a=b
- b=c
- exceptException,e:
- printException,":",e
方法二:采用traceback模塊查看異常
- #引入python中的traceback模塊,跟蹤錯誤
- importtraceback
- try:
- a=b
- b=c
- except:
- traceback.print_exc()
方法三:采用sys模塊回溯最后的異常
- #引入sys模塊
- importsys
- try:
- a=b
- b=c
- except:
- info=sys.exc_info()
- printinfo[0],":",info[1]
但是,如果你還想把這些異常保存到一個日志文件中,來分析這些異常,那么請看下面的方法:
把 traceback.print_exc() 打印在屏幕上的信息保存到一個文本文件中
- importtraceback
- try:
- a=b
- b=c
- except:
- f=open("c:log.txt",'a')
- traceback.print_exc(file=f)
- f.flush()
- f.close()
新聞熱點
疑難解答