如何在Python中捕获StopIteration异常?

如何在Python中捕获StopIteration异常?

当迭代器完成迭代时,它的next方法会引发StopIteration异常。此异常不被视为错误。

我们可以将给定的代码改写如下,以捕获异常并知道其类型。

示例

import sys
try:
    z = [5, 9, 7]
    i = iter(z)
    print(i)
    print(i.next())
    print(i.next())
    print(i.next())
    print(i.next())
except Exception as e:
    print(e)
    print(sys.exc_type)

输出

<listiterator object at 0x0000000002AF23C8>
5
9
7
<type 'exceptions.StopIteration'>

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程