我在打开数据库连接时,捕捉了EOleException,但调试的时候还是出现下面所示的异常对话框
---------------------------
Debugger Exception Notification
---------------------------
Project SchoolManage.exe raised exception class EOleException with message '无效的授权说明'. Process stopped. Use Step or Run to continue.
---------------------------
OK   Help   
---------------------------程序源代码如下,希望各位指点
procedure TMyDataModule.DataModuleCreate(Sender: TObject);
var
  Ini:TReadWriteIni;
  SetServer:TSetServer;
  ConnString:string;
begin
  Ini:=TReadWriteIni.Create;
  ConnString:=Ini.GetConnString;
  ConnServer.ConnectionString:=ConnString;
  try
    ConnServer.Open;
  except
    on EOleException do
    begin
      SetServer:=TSetServer.Create(self);
      SetServer.ShowModal;
    end;
  end;
end;

解决方案 »

  1.   

    ConnectionString存在语法错误吗?
      

  2.   

    ConnectionString应该没有语法错误的啊,GetConnString方法代码如下
    function TReadWriteIni.GetConnString: string;
    begin
      result:='Provider=SQLOLEDB.1;Password='+FPassword+';Persist Security Info=True;User ID='+FUserName+';Initial Catalog=xxglxt;Data Source='+FIp; 
    end;
      

  3.   

    是这样的,在调试时,虽然你的异常处理已经拦截到了这个异常,但DELPHI一样会抛出异常对话框.但在编译后执行程序不会出现这个异常对话框,会执行到你异常处理这个地方去.你可以设置让它在调试时不抛出异常对话框就可了,不过,没有必要这样做,具体在Project|Options 中设置.
      

  4.   

    虽然你在程序中捕获了这个异常,但在调试时,Delphi仍会抛出这个异常,当你直接运行EXE文件时,就不会出现这种情况,这个没什么问题呀,不管它也行,这是Delphi的有些设置你没做,对编程没有影响呀