我有一段时间没有使用Python从3.1更新到3.2。我以前退出Pygame程序的方法是在下面的代码中。现在我收到一条回溯信息:
Traceback (most recent call last):
File "C:\Python32\Nero\gogo.py", line 24, in <module>
terminate()
File "C:\Python32\Nero\gogo.py", line 18, in terminate
sys.exit()
SystemExit
现在我不记得回溯了,但据我所知,它是错误的归宿。这在过去不会产生错误。我尝试使用exit()代替系统出口()但它请求确认终止程序并关闭shell(我不希望发生这两种情况)。我做了一些谷歌搜索,发现了各种类似的查询,但我仍然不确定了解这个错误并着手解决它的最佳方法?程序仍然正常工作。我只是隔离了相关的部分,因为在较大的程序中错误保持不变。在
我的代码:
^{pr2}$谢谢!在
我在win7w/python3.32bit和pygame1.9.2a0上进行了测试,但没有得到结果。在
您看到的并不是真正的“错误”,而是通过调用
sys.exit()
引发的SystemExit
异常。如果您refer to the docs,您将看到调用所做的只是引发异常。如果没有其他方法处理它,那么它会导致主线程终止。这应该是安静的(如您所见,没有堆栈跟踪)。不幸的是,我不能告诉你为什么你看到这个堆栈跟踪。在如果要从GUI启动脚本,应该尝试创建脚本的
.pyw
扩展版本,以防止shell窗口随GUI窗口一起打开。也许这会让你看不到输出结果?在另外,请确保在while循环中实际调用自己的
terminate()
方法,而不是直接调用sys.exit
。在相关问题 更多 >
编程相关推荐