0

suppose that i have this code. if exception is InvalidData, do this will call finally to clean resources.

while(CanWork){
            try
            {
                 ....
            }
            catch (InvalidDataException e)
            {
                LogAction(false, e.Message, e.StackTrace);
                break;
            }
            catch (Exception e)
            {
                LogAction(false, e.Message, e.StackTrace);
            }
            finally
            {
                if (insta != null)
                {
                    insta.Disconnect();
                    insta.Dispose();
                    insta = null;
                }
            }
          }
4

2 回答 2

4

是的,它会,但不是在它即将离开的时候,而是在代码try or catch完成执行之后。

于 2013-06-20T07:23:24.820 回答
1

是的当然 。finally块总是被执行。请参阅此链接了解更多详情

于 2013-06-20T07:24:55.867 回答