改成这样看看
begin 
  try
    A;
   
  try
    C;
  finally
    D;
  end;
  Except
    B;
    Exit;
  end;end;

解决方案 »

  1.   

    你说的情况时不存在的,如果a发生了异常就一定会出发b,儿b完成后会退出过程,所以d不会发生,你说 的这种情况只有一种原因:就是a根本不是异常.另外
    try except,try finally是不同的
      

  2.   

    to jiaorg(jiaorg):
      可以了,谢谢。但是为什么呢?
    比如下面:
    begin 
      try
        A;
        try
          C;
        Except
          D;
        end;    
      finally
        B;
        Exit;
      end;
    end;当C有异常时,会这么样?这个异常处理究竟是这么个机制呢?
      

  3.   

    当c有异常识首先执行d,然后执行b,最后退出过程.