来自 关于计算机 2019-10-04 14:48 的文章
当前位置: 六合联盟网 > 关于计算机 > 正文

使用traceback处理异常信息,python中使用traceback处

前段时间编写三个程序,该程序可以在设定时期内,获取钦赐文件夹更新的文书夹和文件列表,并基于取获得的革新列表,做一些操作。由于所写程序是献身服务器上运营,为了保险程序在运作的历程中,有时临时跳出些非常音信出来吓其余客商,就在程序中增添了这一个处理。将网络的材料整理下,试着将sys.exce_info()和traceback搭配一同使用。效果还算不错,以下音信是自身眼下拍卖特其他办法,在那之中type是丰富的项目,value是出现非常的源委,traceback则是透过traceback追中到的极度消息,能够牢固到产生拾分的代码。

[python]python中,使用traceback管理特别音信,pythontraceback

  前段时间编写叁个顺序,该程序能够在设定期间内,获取钦命文件夹更新的公文夹和文书列表,并依靠取得到的更新列表,做一些操作。由于所写程序是坐落服务器上运维,为了保障程序在运营的经过中,有时偶尔跳出些格外信息出来吓其余顾客,就在先后中加多了丰富管理。将互连网的资料整理下,试着将sys.exce_info()和traceback搭配一同利用。效果还算不错,以下消息是自己日前拍卖特别的艺术,当中type是格外的品种,value是出现万分的来头,traceback则是透过traceback追中到的极度音信,能够牢固到形成十二分的代码。

2016-11-07 22:07:56
-------------------------------
type: <type 'exceptions.TypeError'>
value: string indices must be integers, not str
traceback: [('文件名', 行号, '函数名', '出现异常的代码行')]

在try...except中,使用下述两行记录卓殊情况。针对出现卓殊之后如何程序如何继续之后的干活,则须要看具体要求。

tp,val,td = sys.exc_info()
Log.logerexception(tp,val,td)

切切实实代码如下

图片 1 1 import os 2 import time 3 import traceback 4 import sys 5 6 def logerexception(tp,val,td): 7 etype = str(tp) 8 evalue = str(val) 9 etb = traceback.extract_tb(td) 10 errormsg = "type: " + etype + "n" 11 errormsg += "value: " + evalue + "n" 12 errormsg += "traceback: " + str(etb) + "n" 13 writetofile(errormsg) 14 15 def writetofile(errormsg): 16 logfilepath = os.path.abspath('.') + "/log" 17 if not os.path.exists(logfilepath): 18 os.mkdir(logfilepath) 19 20 logfile = time.strftime("%Y%m%d", time.localtime()) + ".txt" 21 fp = open(logfilepath + "/" + logfile,"a") 22 ISOTIMEFORMAT= "%Y-%m-%d %X" 23 happeningtime = time.strftime(ISOTIMEFORMAT, time.localtime()) 24 usermsg = "" 25 usermsg += happeningtime + "n-------------------------------n" 26 usermsg += errormsg 27 fp.write(usermsg + "n") 28 fp.close() View Code

 

近期编排二个主次,该程序能够在设定期间内,获取内定文件夹更新的文件夹和文件...

2016-11-07 22:07:56

type: <type 'exceptions.TypeError'>
value: string indices must be integers, not str
traceback: [('文件名', 行号, '函数名', '现身极度的代码行')]
在try...except中,使用下述两行记录分外情形。针对出现格外之后怎么样程序怎么样继续之后的行事,则要求看现实须要。

tp,val,td = sys.exc_info()
Log.logerexception(tp,val,td)
切切实实代码如下

 1 import os
 2 import time
 3 import traceback
 4 import sys
 5
 6 def logerexception(tp,val,td):
 7     etype = str(tp)
 8     evalue = str(val)
 9     etb = traceback.extract_tb(td)
10     errormsg = "type: " + etype + "n"
11     errormsg += "value: " + evalue + "n"
12     errormsg += "traceback: " + str(etb) + "n"
13     writetofile(errormsg)
14    
15 def writetofile(errormsg):
16     logfilepath = os.path.abspath('.') + "/log"
17     if not os.path.exists(logfilepath):
18         os.mkdir(logfilepath)
19
20     logfile = time.strftime("%Y%m%d", time.localtime()) + ".txt"
21     fp = open(logfilepath + "/" + logfile,"a")
22     ISOTIMEFORMAT= "%Y-%m-%d %X"
23     happeningtime =  time.strftime(ISOTIMEFORMAT, time.localtime())
24     usermsg = ""
25     usermsg += happeningtime + "n-------------------------------n"
26     usermsg += errormsg
27     fp.write(usermsg + "n")
28     fp.close()

本文由六合联盟网发布于关于计算机,转载请注明出处:使用traceback处理异常信息,python中使用traceback处

关键词: