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后,原来的异常信息就丢失了,并且不能重新引发。