如何在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'>
极客教程