栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

隐藏回溯,除非设置了调试标志

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

隐藏回溯,除非设置了调试标志

简短的方法是使用

sys
模块并使用以下命令:

sys.tracebacklimit = 0

使用您的标志来确定行为。

例:

>>> import sys>>> sys.tracebacklimit=0>>> int('a')ValueError: invalid literal for int() with base 10: 'a'

更好的方法是使用和异常钩子:

def exception_handler(exception_type, exception, traceback):    # All your trace are belong to us!    # your format    print "%s: %s" % (exception_type.__name__, exception)sys.excepthook = exception_handler

编辑:

如果您仍然需要退回原始挂钩,请执行以下操作:

def exception_handler(exception_type, exception, traceback, debug_hook=sys.excepthook):    if _your_debug_flag_here:        debug_hook(exception_type, exception, traceback)    else:        print "%s: %s" % (exception_type.__name__, exception)

现在,您可以将调试钩子传递给处理程序,但是您很可能希望始终使用源自的钩子

sys.excepthook
(因此,不传递任何东西
debug_hook
)。Python在定义时间绑定了默认参数
一次 (常见陷阱…),这使得它始终在替换之前使用相同的原始处理程序。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/400117.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号