简短的方法是使用
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在定义时间绑定了默认参数
一次 (常见陷阱…),这使得它始终在替换之前使用相同的原始处理程序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)