try...except包含try...finally方法
def f():
try:
try:
f = open(raw_input('>'))
print f.readlines()
finally:
f.close()
#1/0
except Exception, e:
print str(e)
可以用上面的方法处理异常发生后文件的关闭,这样做有个问题,如果finally字句出现异常,比如,ZeroDivisionError这种的,就会覆盖在上面try块里面的异常信息,这是我们不想看见的,再比如,finally里面出现return、break、continue后,原来的异常信息就丢失了,并且不能重新引发。
浙公网安备 33010602011771号