try
....
Except
  on EDatabaseError do
  begin
    Application.MessageBox('错误:数据库读取失败.建议您检查网络的连接情况!',
                           '连接错误',MB_OK+MB_ICONWARNING);
    abort;
  end;
end;

解决方案 »

  1.   

    这为仁兄说详细点好吗?我是了一下好像不行,还是弹出delphi的错误提示框,我在这里先谢过了.
      

  2.   

    同志,在调试状态下,一定会先弹出Delphi的提示框的。
      

  3.   

    在try     except 之间加
    Database1.Connected:=true;
    楼上说的对,在程序中,无论是自定义异常,还是vcl异常,在调试状态下一定会先弹出Delphi的提示框的,你可以关闭调试情况下的这个选项.
      

  4.   

    用Application.OnException这个东东来弄,所有的都能
    procedure button1.onclick
    begin
      Application.Onexception=appException;
      Database1.conntected:=true;
      //free and nil,不能它是整个Application的Exception处理过程.
      application.onException:=nil;
    end;
    procedure tform1.appexception(var msg:TMsg;var done:boolean);
    begin
      showmessage('hello,there is a error');
    end;
      

  5.   

    已经关闭调试情况了,可还是先弹出delphi的错误提示框!
      

  6.   

    ...........
    try
       Query1.Open();
    except
       on e:Exception do begin
       result := false;
       MessageBox(handle, '数据库操作失败。', '失败' , MB_OK + MB_ICONEXCLAMATION);
       exit;
    end
    ..........OK?