在讲循环对象的时候,曾提到一个StopIteration的异常,该异常是在循环对象穷尽所有元素时的报错。
我们以它为例,来说明基本的异常处理。
一个包含异常的程序:
a = iter(range(5))
try:
for i in range(100):
print(a.__next__())
except StopIteration:
print('here is end ', i)
# 结果展示:
'''
0
1
2
3
4
here is end 5
'''
首先,我们定义了一个循环对象a,该循环对象将进行5次循环,每次使用序列的一个元素。
在随后的for循环中,我们手工调用next()函数。当循环进行到第6次的时候,a.next()不会再返回元素,而是抛出(raise)StopIteration的异常。整个程序将会中断。