在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,谢谢你的评论:)但是,你仍然应该接受我们的一个答案来完全解决你的问题(并防止它出现在
未回答的选项卡中)。答案是接受你个人认为对你最有帮助的答案
。请放心,无论是安德鲁、奈德还是我,都不会因为你选择了其中一个而对另一个产生反感,因为这就是这里的工作方式。(如果你真的很绝望,我建议你掷硬币;)我选择了你的答案,因为我认为它更可能遇到你的情况。我还发现这个错误更有趣。对不起,安德鲁·沃克!