在python中是否存在不生成回溯的运行时错误(=异常)?

在python中是否存在不生成回溯的运行时错误(=异常)?,python,runtime-error,traceback,Python,Runtime Error,Traceback,是否存在不生成回溯的运行时错误(=异常)? 如果是,为什么一些运行时错误不生成回溯?你能举一些例子吗?你可以传递一个非常大的值给,然后进入一个无限递归循环。在这种情况下,解释器将在没有回溯的情况下崩溃 然而,这仅仅是因为调用setrecursionlimit()有效地禁用了故障保护机制,该机制会将潜在的堆栈溢出转化为Python异常。是的,我至少可以想到一个:分段错误 >>> import faulthandler >>> faulthandler._sigs

是否存在不生成回溯的运行时错误(=异常)?
如果是,为什么一些运行时错误不生成回溯?你能举一些例子吗?

你可以传递一个非常大的值给,然后进入一个无限递归循环。在这种情况下,解释器将在没有回溯的情况下崩溃


然而,这仅仅是因为调用
setrecursionlimit()
有效地禁用了故障保护机制,该机制会将潜在的堆栈溢出转化为Python异常。

是的,我至少可以想到一个:分段错误

>>> import faulthandler
>>> faulthandler._sigsegv()
Segmentation fault
faulthandler模块专门设计用于在这种情况下提供帮助

>>> import faulthandler
>>> faulthandler.enable()
>>> faulthandler._sigsegv()
Fatal Python error: Segmentation fault

Current thread 0xb76fe6c0
 File "<stdin>", line 1 in <module>
Segmentation fault
导入faulthandler >>>faulthandler.enable() >>>faulthandler._sigsegv() 致命的Python错误:分段错误 当前线程0xb76fe6c0 文件“”,中的第1行 分段故障
没有不产生回溯的Python异常。正如其他答案所示,您可以使CPython严重崩溃,这不会产生回溯。如果你能解释一下你对此感兴趣,我们可能会有更多信息。

想知道,但从未听说过。我无法在你的答案和安德鲁·沃克的答案之间做出选择。这两个都是很好的答案,并向我保证,当遇到运行时错误时,我不必担心没有回溯。@Bentley,谢谢你的评论:)但是,你仍然应该接受我们的一个答案来完全解决你的问题(并防止它出现在
未回答的
选项卡中)。答案是
接受你个人认为对你最有帮助的答案
。请放心,无论是安德鲁、奈德还是我,都不会因为你选择了其中一个而对另一个产生反感,因为这就是这里的工作方式。(如果你真的很绝望,我建议你掷硬币;)我选择了你的答案,因为我认为它更可能遇到你的情况。我还发现这个错误更有趣。对不起,安德鲁·沃克!