python 追踪except信息
来源:互联网 发布:番号搜索观看软件 编辑:程序博客网 时间:2024/05/29 19:50
看下面这个函数
def test(): sum = 3/0 if __name__ == '__main__': test()除0肯定是不对的,会引发一个except,内容如下:
File "E:\Src\dongsheng\TestPython\testtrace_back.py", line 23, in <module> test()File "E:\Src\dongsheng\TestPython\testtrace_back.py", line 19, in test sum = 3/0ZeroDivisionError: integer division or modulo by zero
上面的提示,是在IDE中运行时出现的,实际在线上运行脚本时,一般会用nohup 方式启动,输出内容会写入到nohup.out文件中,但这个文件里的内容可能非常多,很杂乱,不利于异常的排查。
python 提供了traceback ,可以完美的输出except发生时的信息,就和上面的内容一样,而且可以输入到指定的文件之中,所以,不妨写一个装饰器,修饰那些需要监督的函数,当他们发生异常时,记录下有关异常的信息。
#coding=utf-8from functools import wrapsimport tracebackdef except_trace(filename): def decorate(func): @wraps(func) def wrapper(*args,**kwargs): try: func(*args,**kwargs) except: fp = open(filename,'w') traceback.print_exc(file=fp) fp.close() return wrapper return decorate@except_trace('1.txt')def test(): sum = 3/0 if __name__ == '__main__': test()
这一次,发生异常后,有关异常的信息会输入到1.txt文件中,这个文件中只包含异常的信息,方便查看。
0 0
- python 追踪except信息
- python except
- python except
- python except
- python except
- python try/except/finally
- except in python
- python try/except/finally
- python try/except/finally
- python try/except/finally
- python try/except/finally
- python try/except/finally
- python try/except/finally
- Python 异常 try except
- python的try...except
- 学生信息追踪分析
- Python try-except-else 语句
- python - try/except/else/finally
- 【项目管理和构建】十分钟教程,eclipse配置maven + 创建maven项目(三)
- java基础六:数组
- 观察者模式(Observer Pattern)
- jquery动态加载javascript文件的方法
- 《关于移动游戏出版服务管理的通知》 原文
- python 追踪except信息
- 餐桌_纪中1237_水暴力
- (Eclipse打包问题)Export aborted because fatal lint errors we
- 如何学习新技术?
- C语言 程序 绘制余弦曲线和直线 , 绘制cos(x)和sin(x)
- hash实例讲解
- 易语言windows命令合集
- 莫比乌斯教我变魔术
- 贪心算法——另一种找最大值情况