您好,登錄后才能下訂單哦!
本文實例講述了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
測試結果:
<type 'exceptions.Exception'> : name 'b' is not defined
方法二:采用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]
運行結果:
<type 'exceptions.NameError'> : name 'b' is not defined
但是,如果你還想把這些異常保存到一個日志文件中,來分析這些異常,那么請看下面的方法:
把 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()
此時C盤根目錄下生成一個log.txt文件,內容如下:
Traceback (most recent call last):
File "C:\py\jb51PyDemo\src\Demo\test.py", line 3, in <module>
a=b
NameError: name 'b' is not defined
更多Python相關內容感興趣的讀者可查看本站專題:《Python入門與進階經典教程》、《Python字符串操作技巧匯總》、《Python列表(list)操作技巧總結》、《Python編碼操作技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。