python異常資訊捕獲方法整理歸納

2021-06-02 12:18:06 字數 2018 閱讀 3962

方法一:

try:

....print 1/0

except exception,con:

....print exception,":",con

#con可以換成其它的名字

################################

方法二:

try:

....print 1/0

except:

....import traceback

....traceback.print_exc()#將異常資訊列印在直譯器上

....#以下是寫入檔案

....fp=open("d:\\error.txt","w")

....traceback.print_exc(file=fp)

....fp.close()

#函式原型:print_exc( [limit[, file]])

################################

方法三:

try:

....print 1/0

except:

....import traceback,sys

....traceback.print_exception(*sys.exc_info())#將異常資訊列印在直譯器上

....#以下是寫入檔案

....fp=open("d:\\error.txt","w")

....traceback.print_exception(*sys.exc_info(),file=fp)

....fp.close()

#函式原型:print_exception( type, value, traceback[, limit[, file]])

#此方法實際上等同於方法二

################################

方法四:

#此方法參考自 ipro7@逆浪′

try:

....print 1/0

except:

....import traceback,sys

....exc="".join(traceback.format_exception(*sys.exc_info()))

....print exc

....#以下為寫入檔案

....fp=open("d:\\error.txt","w")

....fp.write(exc)

....fp.close()

#函式原型:format_exception( type, value, tb[, limit])

#該函式返回乙個包含異常資訊的列表

################################

方法五:

#此方法參考自 超級打包@龍飛飛龍

#寫入檔案示例

import sys

class myerror:

....def __init__(self,path="d:\\error.txt"):

........self.__flag=0

........self.__path=path

....def write(self,text): #函式名只能用write

........if not self.__flag:

............self.__flag=1

............fp=open(self.__path,"w")

............fp.write(text)

............fp.close()

........else:

............fp=open(self.__path,"a")

............fp.write(text)

............fp.close()

sys.stderr=myerror()

print 1/0

#當有異常丟擲時,sys.stderr的write方法會被自動呼叫

Python捕獲異常堆疊資訊的幾種方法

程式出錯的時候,我們往往需要根據異常資訊來找到具體出錯的 簡單地用print列印異常資訊並不能很好地追溯出錯的 coding utf 8 def foo a,b c a b raise valueerror test return c def bar a print a 100 foo a,100 ...

python 如何捕獲異常詳細資訊

當我們需要對異常進行捕獲來保證程式的健壯。但是debug的時候,我們可能需要異常的詳細資訊,這時可以使用sys.exc info來處理 import traceback import sys try raise valueerror this is a exp except exception as...

python異常捕獲 如何捕獲Python中的異常

python 提供了try except語句捕獲並處理異常,該異常處理語句的基本語法結構如下 try 可能產生異常的 塊 except error1,error2,as e 處理異常的 塊1 except error3,error4,as e 處理異常的 塊2該格式中,括起來的部分可以使用,也可以省...