
点击即校验目录/引擎状态的三段式拦截第一性原理错误要趁早拦点开始处理如果目录不存在、引擎没启动这些是马上能判断的错误就该在点击时立刻拦住返回提示别等后台跑一段时间才炸。三段式校验我们_run里就是三步拦截顺序有讲究def_run(self):# ① 目录合法性folderself.folder_edit.text().strip()ifnotfolderornotos.path.isdir(folder):self.status.setText(目录无效请重新选择)return# ② 引擎/队列是否就绪ifnotself.queue.running:self.status.setText(需先启动引擎服务监控页)return# ③ 入队结果反馈ifnotself.queue.submit({p_FolderPath:folder}):self.status.setText(队列已满请稍后重试)returnself.status.setText(已提交处理中)三者顺序先看输入目录再看运行环境引擎最后才是真正的动作入队。每一层拦截什么输入层目录空、不是目录 → 拦。这是用户错最快发现。环境层引擎没启动 → 拦。否则任务提交了没人处理静默失败。能力层队列满 → 拦。能提交就提交不能就明确反馈。为什么拦出来是友好错误每一层都给具体提示不是笼统的出错了用户和调试者都知道该干嘛。比如需先启动引擎直接指向服务监控页那个按钮。一句话能前置判断的错误click 时就拦掉。校验顺序从输入到环境到行为层层反馈具体原因。别把可预防的错误拖到异步后台。