首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法KeyboardInterrupt while循环

无法KeyboardInterrupt while循环
EN

Stack Overflow用户
提问于 2020-10-02 23:55:55
回答 1查看 33关注 0票数 1

我有一个在无限循环上运行的python脚本。在循环中,会发生多进程和异步函数,所以通常我会捕获KeyboardInterrupt来正确地杀死所有进程。

不知怎么的,在其中一个循环上使用类似的代码,我无法捕捉到循环继续运行的KeyboardInterrupt。

逻辑是这样的:

代码语言:javascript
复制
try:
    while True:
         do stuff
except (KeyboardInterrupt, SystemExit):
    exit cleanly

正常情况下我会怀疑是一次地毯式的尝试。除了子函数中的某个地方,但我检查了整个代码库,虽然有很多错误,但捕获的所有内容都是特定的。

有没有一种方法可以跟踪错误并以某种方式找出KeyboardInterrupt被捕获的位置?

谢谢

*调试后编辑...所以我一部分一部分地禁用了代码,直到我解决了这个bug:在代码中的某个地方,我调用了一个缺少self且没有标记为@staticmethod的方法。

改变这一点解决了我的问题。

EN

回答 1

Stack Overflow用户

发布于 2020-10-03 00:05:54

这对我很有效。

代码语言:javascript
复制
try:
    while True:
        print(1)
except KeyboardInterrupt:
    raise

编辑:实际上读了你的问题,我不能告诉你为什么它没有在没有看到其余或更多代码的情况下引发错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64174680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档