当我在 Python 库中引发自己的异常时,异常堆栈将引发行本身显示为堆栈的最后一项。这显然不是一个错误,在概念上是正确的,但是当您在外部使用代码(例如作为模块)时,它会将重点放在对调试无用的东西上。
有没有办法避免这种情况并强制 Python 将上一个到最后一个堆栈项显示为最后一个,就像标准 Python 库一样。
适当的警告:修改解释器的行为通常是不受欢迎的。无论如何,准确地查看引发错误的位置可能有助于调试,特别是当函数可能因多种不同原因引发错误时。
如果您使用traceback http://docs.python.org/library/traceback.html模块,并更换sys.excepthook
使用自定义函数,可能可以做到这一点。但是进行更改将影响整个程序的错误显示,而不仅仅是您的模块,因此可能不建议这样做。
您还可以考虑将代码放入 try/ except 块中,然后修改错误并重新引发它。但是,您的时间可能更好地花在避免意外错误的可能性上,并为可能出现的错误编写信息丰富的错误消息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)