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

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

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

简短的方法是使用

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在定义时间绑定了默认参数
一次 (常见陷阱…),这使得它始终在替换之前使用相同的原始处理程序。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5008657.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存