异常处理在之前的学习中我们一直没有接触过。
哦对,我们甚至还不知道怎么向程序输入一段字符串。那么我们在这里提供一个小例子。
在命令行中,我们输入
s = raw_input('Enter something --> ')
好了,我们已经知道如何输入一个字符串了,那么当我们输入 s = raw_input('Enter something --> ') 之后按回车, 然后,我们按下 Ctrl + D 。
这时,我们获得了一个异常情况,EOF -----> end of file
这时,我们不希望程序崩溃,所以,我们要处理这个异常。
根据我们的参考书DIP所述,像大多数面向对象的语言一样,Python也具有异常处理的功能。现在请出我们的主角:
try: <...............> #可能得到异常的语句 except <.......>: #锁定是哪种异常 <...............> #出现异常的处理方法
对于上面的例子,我们写一个异常处理看一下.
import sys try: s = raw_input('Enter something --> ') #可能得到异常的语句 except EOFError: #锁定是哪种异常 print 'ERROR INPUT !' #出现异常的处理方法 sys.exit() print s
显然这个程序的意思非常明了,如果输入没有错,那么应该输出输入的字符串. 如果有错,就应该提示.
如果有多重异常情况,那么我们可以写多个except 来解决问题.
以上是在python2的情况下,下面有一段python3下的代码:
import sys list=[1,2,3,4] it=iter(list) while True: try: print(next(it)) except StopIteration: sys.exit()