一组语句若前面发生异常,则不执行,若不发生异常则执行!如何做?

解决方案 »

  1.   

    try 
      ...//不发生异常执行语句
    except
      ...//发生异常执行的语句
    end;
      

  2.   

    或者try 
      ...
    except
      ...//发生异常执行的语句
    end;
      ...//不发生异常执行语句
      

  3.   

    try
      数组复制
      原数组清空
    except
      目的数组清空
    end
      

  4.   

    设一变量为false,在except里赋值为true,后面的语句根据这一变量运行。
      

  5.   

    var
      loop: Integer;
    try
      ...
      setlength(newarray,high(oldarray)-low(oldarray)+1);
      //move(oldarray,newarray,high(oldarray)-low(oldarray)+1);
      //copymemory(@newarray,@oldarray,high(oldarray)-low(oldarray)+1);
      //newarray := oldarray;
      if high(newarray) < 0 then Exit;
      for loop := low(oldarray) to high(oldarray) do
        newarray[loop] := oldarray[loop];
    except
      if high(newarray) > 0 then
        for loop := low(newarray) to high(newarray) do
          newarray[loop] := '';
    end;
      for loop := low(oldarray) to high(oldarray) do
        oldarray[loop] := '';
      

  6.   

    dephi 异常处理
    try
    ....;
    except
    ....;
    else
    ...;
    end
    还有
    try
    ...;
    finally
    ...;
    end