我得目的是执行SQL语句时,捕捉主键重复时报的的异常并屏蔽掉,其他的异常保留抛出。但是我不知道主键重复错误的ErrorCode,所以怎么捕捉?
另外,如何保证其他的异常抛出不受影响?  
        try
            ExecSQL;
          except
            on Exc:EOleException do
            begin
              if(exc.ErrorCode=????) then              else
                throw exc;      //有错,怎么写?
          end;

解决方案 »

  1.   

    try
                ExecSQL;
              except
                on Exc:EOleException do
                begin
                  if(exc.ErrorCode=1100) then              else
                    throw exc;   
              end;
      

  2.   

    try
       ExecSQL;
    except
       on Exc:EOleException do
       begin
         if(exc.ErrorCode=1100) then
           Application.messagebox(exc.message,'',mb_ok);   
         end;