捕捉异常
使用try/except语句可以实现捕捉异常:
try:
pass # 正常进行时的代码
except:
pass # 异常处理的代码
如果没有捕捉异常,就会“传播”到调用的函数中。如果那里仍然没有捕获,异常就会“浮”到程序的最顶层。如果捕捉到异常,但又想重新引发它(即要传递异常,不进行处理),可以调用不带参数的raise语句。
为了捕捉不同类型的异常,可以在同一个try/except语句后添加多个except子句:
try:
x = input('Enter the first number: ')
y = input('Enter the second number: ')
print x/y
except ZeroDivisionError:
print "The second number can't be zero!"
except TypeError:
print "That wasn't a number, was it?"
将多个异常类型作为元组列出,可以一个块捕捉多个类型异常:
try:
x = input('Enter the first number: ')
y = input('Enter the second number: ')
print x/y
except (ZeroDivisionError, TypeError):
print "Your number were bogus..."