# # 多线程实例3 method = [pieState] # 字典 self.thread_s1 = {} self.worker_s1 = {} for i in range(len(method)): self.thread_s1[i] = 'thread' + str(i) self.worker_s1[i] = 'worker' + str(i) try: for j in range(len(method)): self.thread_s1[j] = QThread() self.worker_s1[j] = Worker() self.worker_s1[j].moveToThread(self.thread_s1[j]) self.thread_s1[j].started.connect(self.worker_s1[j].run) self.worker_s1[j].finished.connect(self.thread_s1[j].quit) self.worker_s1[j].finished.connect(self.worker_s1[j].deleteLater) self.thread_s1[j].finished.connect(self.thread_s1[j].deleteLater) self.worker_s1[j].finished.connect(method[j]) # Start the thread self.thread_s1[j].start() except Exception as alarm: print(str(alarm))子线程运行报警为什么没有触发try except
时间: 2024-02-14 22:19:19 浏览: 136
多线程在Visual_Studio_C_的应用实例教程
根据您提供的修改后的代码,可以看出您已经在try语句块中包含了整个for循环。因此,如果有任何异常在for循环中抛出,都应该被try语句块捕获并触发except语句块中的代码。如果您仍然没有触发try except机制,可能是因为您没有正确地引发异常。您可以尝试在for循环中添加一些故意触发异常的代码来测试try except机制是否正常工作。
阅读全文