You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何捕获Python程序出现「未响应」状态对应的异常?

问题解答

首先明确结论:你无法通过Python代码捕获这个「未响应」对应的异常。
这个提示是操作系统层面的告警:你的代码写了无任何阻塞/休眠的无限死循环,会持续占满单核心CPU资源,进程长时间没有空闲来响应操作系统分发的窗口/输入事件,系统就会判定该进程处于未响应状态,这不属于Python解释器抛出的程序异常,不存在对应的异常类型可供try-except捕获。

你可以通过以下方案解决未响应问题:

  • 给循环加短时间休眠,主动让出CPU资源,哪怕设置0.01秒的间隔也能避免进程被系统判定为无响应,修改后的代码示例如下:
import pyautogui
import time

def stop():
    pyautogui.FAILSAFE = False
    while True:
        pyautogui.press('enter')
        # 可根据实际需要的按键频率调整休眠时长,数值越大CPU占用越低
        time.sleep(0.05)
  • 如果确实需要极高频率的按键操作,可以将按键逻辑放到独立子线程中运行,主线程保留响应系统事件的能力即可避免触发未响应检测。
  • 额外提示:非必要不建议将pyautogui.FAILSAFE设置为False,该参数默认开启时,将鼠标移动到屏幕左上角会自动终止pyautogui的执行,是避免程序失控的有效保护机制。

内容的提问来源于stack exchange,提问作者Katkoota

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 22:45:04