是否将Python设置为在出现异常时退出?

是否将Python设置为在出现异常时退出?,python,Python,我正在使用python3 我一直在四处寻找答案,但还没有找到。基本上,我在一个游戏引擎中运行了几个Python脚本,每个脚本都有自己的入口点 我不想在我的所有代码中添加try:except block,所以我想知道,在发现第一个错误时,是否可以告诉Python退出(或者为“回调”指定一个自定义函数),而不管它在何处或发现了什么 目前,游戏引擎在发现并命中错误后将继续运行,这使得诊断问题比必要时更加困难,因为遇到一个错误可能会导致后续脚本无法工作(例如,它依赖于错误脚本设置的变量)。有什么想法吗

我正在使用
python3

我一直在四处寻找答案,但还没有找到。基本上,我在一个游戏引擎中运行了几个Python脚本,每个脚本都有自己的入口点

我不想在我的所有代码中添加
try:except block
,所以我想知道,在发现第一个错误时,是否可以告诉Python退出(或者为“回调”指定一个自定义函数),而不管它在何处或发现了什么

目前,游戏引擎在发现并命中错误后将继续运行,这使得诊断问题比必要时更加困难,因为遇到一个错误可能会导致后续脚本无法工作(例如,它依赖于错误脚本设置的变量)。有什么想法吗

我知道我可以将控制台重定向到一个文件,以便于滚动,但是只捕获第一个错误并过早停止游戏将非常有用

好的,还有一些额外的信息-很抱歉没有说出来。我正在使用的引擎(Blender游戏引擎)是用C编写的,所以更改源代码比我想做的更多


在谷歌搜索之后,似乎有人提出了一个类似的问题,并给出了一个可靠的答案,那就是如何获得最后提出的异常。如果我检查sys模块是否存在最后一个_值变量并且它存在,那么我可能会过早退出,因为控制台可能已经打印出错误

谢谢您的帮助。

您可以使用注册一个函数,该函数将在程序终止时被调用。终止后,您将不得不使用current打印有关发生的异常(如果有)的调试信息


注意:这假设异常不会被游戏代码捕获,因为它依赖异常来终止执行。

如果它在错误后继续,则它已经遇到了try/catch块……如果后续脚本失败,则它们的耦合过于紧密。首先,在它们之间的接口点上添加验证。如果您无法看到哪里出了问题,那么设置将是错误的useful@Basic-我没有添加那个,所以我想这是可能的。@jornsharpe-如果不需要的话,我宁愿不编辑引擎的C源代码。嗯,这听起来很有趣,但似乎不能让我在第一个异常时停止程序。基本上,我要做的是获取最后一个引发的异常,不管它是从代码中的何处引发的。它将允许您访问第一个可能终止程序的异常。如果您的程序逻辑已经捕获到异常,那么您就无法拦截它。