异常处理

在try块中的代码(或者从try块调用的任何方法)抛出异常,CLR将搜索捕捉类型与抛出的异常相同(或是它的基类)的catch块。如果没有任何捕捉类型与抛出的异常匹配,CLR会去调用栈的更高一层搜索一个异常匹配的捕捉类型。如果到了调用栈顶部,还是没有找到具有匹配捕捉类型的一个catch块,就会发生一个未处理的异常。

一旦CLR找到一个具有匹配捕捉类型的catch块,就会执行内层所有的finally块之间的的所有代码。所谓“内层finally块”是指从抛出异常的try块开始,到匹配异常的catch块之间的所有finally块。注意,匹配异常的那个catch块所关联的finally块尚未执行,该finally块中的代码一直要等到这个catch块中的代码执行完毕之后才会执行。

posted @ 2012-08-22 23:21  HelloWorld.Michael  阅读(103)  评论(0编辑  收藏  举报