香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

Python中捕捉详细异常信息的代码示例


时间:2021-11-09 10:23 作者:admin


大家在开发的过程中可能时常碰到一个需求,需要把python/' target='_blank'>python的异常信息输出到日志文件中。
网上的办法都不太实用,下面介绍一种实用的,从Python 2.7源码中扣出来的。
废话不说 直接上代码,代码不多,注释比较多而已。

import sys, tracebacktraceback_template = '''Traceback (most recent call last): File "%(filename)s", line %(lineno)s, in %(name)s%(type)s: %(message)s\n''' # Skipping the "actual line" item# Also note: we don't walk all the way through the frame stack in this example# see hg.python.org/cpython/file/8dffb76faacc/Lib/traceback.py#l280# (Imagine if the 1/0, below, were replaced by a call to test() which did 1/0.)try:  1/0except:  # http://docs.python.org/2/library/sys.html#sys.exc_info  exc_type, exc_value, exc_traceback = sys.exc_info() # most recent (if any) by default  '''  Reason this _can_ be bad: If an (unhandled) exception happens AFTER this,  or if we do not delete the labels on (not much) older versions of Py, the  reference we created can linger.  traceback.format_exc/print_exc do this very thing, BUT note this creates a  temp scope within the function.  '''  traceback_details = {             'filename': exc_traceback.tb_frame.f_code.co_filename,             'lineno' : exc_traceback.tb_lineno,             'name'  : exc_traceback.tb_frame.f_code.co_name,             'type'  : exc_type.__name__,             'message' : exc_value.message, # or see traceback._some_str()            }  del(exc_type, exc_value, exc_traceback) # So we don't leave our local labels/objects dangling  # This still isn't "completely safe", though!  # "Best (recommended) practice: replace all exc_type, exc_value, exc_traceback  # with sys.exc_info()[0], sys.exc_info()[1], sys.exc_info()[2]  ## 修改这里就可以把traceback打到任意地方,或者存储到文件中了  print traceback_template % traceback_details
(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)