如果确定有异常产生而没有被子定义的处理局并截获,那么可能是你写了通用的处理异常的处理句柄
如:procedure allexcept(Sender: TObject; E: Exception);

解决方案 »

  1.   

    不会吧, 以你上面的方法,应会出现你的提示才对啊,
    在DELPHI运行下,会出现系统错误提示, 可是编译完以后,在外面运行程序就不会系统提示错误了..
      

  2.   

    try
      table1.append;
      ...
      table1.post;
    excecpt
      on EDatabaseError do
      begin
        showmessage('error');
      end;else
      raise;
    end;这样就可以根据你的需要来显示或不显示错误信息;
    EDatabaseError可以捕获所有BDE的错误异常。
    如果不是EDatabaseError异常则使用raise将异常向外部传递。
      

  3.   

    try
    table1.append;
    ...
    table1.post;
    excecpt on E:Exception do 
    begin 
    showmessage(E.Exception);
    exit;
    end;
    end;
      

  4.   

    我也认为是在IDE环境下的原因,只要编译,在操作系统下运行,就没有问题了。
      

  5.   

    jinfeng_Wang(多看一页书,少问一个问题!) 的有道理
      

  6.   

    这是因为你在调试程序,异常首先被调试器截获,并通知了你.然后继续运行才会被你自己的程序截获.如果你不通过调试器(如Delphi)直接运行就不会有这个问题.
    Tools|Debugger Options...,在对话框中的Language Exceptions页Add一个Exception类型的异常可以屏蔽调试器的这个功能.
      

  7.   

    lizhenjia(暴雪) +  tommytong(童童)