python - 不要在异常堆栈中显示 Python raise-line

标签 python exception stack raise

当我在我的 Python 库中引发自己的异常时,异常堆栈将引发行本身显示为堆栈的最后一项。这显然不是错误,在概念上是正确的,但是当您在外部使用代码(例如作为模块)时,将重点放在对调试无用的东西上。

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

最佳答案

适当的警告:修改解释器的行为通常是不受欢迎的。在任何情况下,准确查看引发错误的位置可能有助于调试,尤其是当函数可能因多种不同原因引发错误时。

如果您使用 traceback模块,并将 sys.excepthook 替换为自定义函数,这可能是可能的。但是进行更改会影响整个程序的错误显示,而不仅仅是您的模块,因此可能不推荐。

您还可以查看将代码放在 try/except block 中,然后修改错误并重新引发它。但是您最好将时间花在减少意外错误的可能性上,并为可能出现的错误编写信息丰富的错误消息。

关于python - 不要在异常堆栈中显示 Python raise-line,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4419785/

相关文章:

android - 安装下载的 .apk 文件时解析错误

list - 用于验证括号匹配的 Haskell 函数

java - 无法从 Eclipse 查看 Tomcat 启动期间抛出的异常

java - Selenium (Java) 消息 "Unable to locate element"但元素和 XPath 存在

java - 如何将 String 输入转换为 int 并压入堆栈

java - 使用 java.util.Stack.iterator 显示堆栈内容

python - 是否可以在 Pandas 的 loc 中使用 loc 来替换值?

python - 从电子邮件收件箱中提取 URL

python - 将 Pandas (python)数据帧序列化为二进制格式

python - 是否有更多方法来定义只有一项的元组?