Wednesday, August 16, 2006

Python 2.5 的新特性 统一的try/cath/finally

    直到Python2.5之前,try语句的写法一直是两种风格。你可以使用finally 块保证应用总是被执行,或则通过except保证一个或多个异常可以被捕获并处理。你是你不能把多个except结合一个finally使用,因为将他们合并起来从语义上看并不清晰。
   Guido van Rossum一直从事Java的工作,在Java中支持我们上面说的这种结合。所以现在在Python2.5中你可以这样使用:

try:
    block-1 ...
except Exception1:
    handler-1 ...
except Exception2:
    handler-2 ...
else:
    else-block
finally:
    final-block

代码block-1会被执行,如果出现异常那么会先测试是什么异常,如果是Exception1就执行handler-1,如果是Exception2就执行handler-2,否则就执行 else-block,最终finally部分的代码仍然会被执行。

1 comment:

xyb said...

标题中的typo: cath 疑为 catch。