为了账号安全,请及时绑定邮箱和手机立即绑定

停止迭代异常

停止迭代异常

慕勒3428872 2021-10-26 17:03:43
功能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内部结构,但是如果你将代码的问题归咎于它,那你就错了事物。


查看完整回答
反对 回复 2021-10-26
  • 1 回答
  • 0 关注
  • 389 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信