不要在异常堆栈中显示Python提升行

Hte*_*hno 23 python stack exception raise

当我在Python库中引发自己的异常时,异常堆栈将raise-line本身显示为堆栈的最后一项.这显然不是错误,在概念上是正确的,但是当您在外部使用代码时,例如作为模块,将注意力集中在对调试无用的事情上.

有没有办法避免这种情况,并强制Python将前一个到最后一个堆栈项显示为最后一个堆栈项,就像标准的Python库一样.

Tho*_*s K 7

适当的警告:通常不赞成修改解释器的行为.在任何情况下,查看错误的确切位置可能有助于调试,特别是如果函数可能由于几个不同的原因引发错误.

如果您使用该traceback模块,并sys.excepthook使用自定义功能替换,则可能会执行此操作.但是进行更改会影响整个程序的错误显示,而不仅仅是模块,因此可能不建议这样做.

您还可以查看将代码放入try/except块中,然后修改错误并重新提升它.但是,您的时间可能更好地花费在意外错误上,并为可能出现的错误信息写入信息错误消息.