功能def _copying(self): result = self.result.toPlainText().strip().split('\n') to_copy = '\n'.join(result) pyperclip.copy(to_copy)在MainWindow()我PyQt5项目提出了在contextlib.py异常“的StopIteration” _GeneratorContextManager(),line 119 'next(self.gen)'。 result是一个ui.TextEdit对象。你能告诉我这是什么意思吗?谷歌说我应该把我的 func 包装成 with-construction,但我真的不明白如何,也不确定这是个好主意。调试器说:__exception__ = {tuple} <class 'tuple'>: (<class 'StopIteration'>, StopIteration(), <traceback object at 0x045DA918>) 0 = {type} <class 'StopIteration'> args = {getset_descriptor} <attribute 'args' of 'BaseException' objects> value = {member_descriptor} <member 'value' of 'StopIteration' objects> 1 = {StopIteration} args = {tuple} <class 'tuple'>: () value = {NoneType} None 2 = {traceback} <traceback object at 0x045DA918> tb_frame = {frame} __exit__ [contextlib.py:119] id:54111736 tb_lasti = {int} 16 tb_lineno = {int} 119 tb_next = {NoneType} None __len__ = {int} 3控制台什么也没说。但该项目正在崩溃。
1 回答
慕码人2483693
TA贡献1860条经验 获得超9个赞
StopIteration 是完全正常和预期的。这是正常运行的一部分contextlib.contextmanager
。应该发生的,它被抓住并立即处理;如果它没有发生,那就有问题了。
我不知道你是如何看到这个异常的,考虑到它永远不会逃脱contextlib
内部结构,但是如果你将代码的问题归咎于它,那你就错了事物。
添加回答
举报
0/150
提交
取消