StopIteration

294次阅读
StopIteration

StopIteration

由内置函数 next() 和 iterator 的 next() 方法所引发,用来表示该迭代器不能产生下一项。

该异常对象只有一个属性 value,它在构造该异常时作为参数给出,默认值为 None。

当一个 generator 或 coroutine 函数返回时,将引发一个新的 StopIteration 实例,函数返回的值将被用作异常构造器的 value 形参。

如果某个生成器代码直接或间接地引发了 StopIteration,它会被转换为 RuntimeError (并将 StopIteration 保留为导致新异常的原因)。

在 3.3 版更改: 添加了 value 属性及其被生成器函数用作返回值的功能。

在 3.5 版更改: 引入了通过 from future import generator_stop 来实现 RuntimeError 转换,参见 PEP 479。

在 3.7 版更改: 默认对所有代码启用 PEP 479: 在生成器中引发的 StopIteration 错误将被转换为 RuntimeError。

{# Info
分类: Python3 异常与错误处理

作者:Python中文网 2019年7月30日 20:52

与本文相关文章