procedure TForm1.Button1Click(Sender: TObject);
begin
try
  strtoint(edit1.text);
  //raise Exception.Create('我抛出的异常!');
except    showmessage('chucuole');
end;
end;
end.
当edit1.text不是数字的时候,我希望捕捉主这个异常,所以我使用了try excet ..end来捕捉异常,结果一运行,delphi自己首先弹出一个对话框,都是英文,意思就是edit1.text内容不是数字,我希望就是用我的showmessage来显示这个异常,如何让delphi不拦截,直接执行except我写的语句呢?

解决方案 »

  1.   

    把Debugger Options 中的 integrated debugging选项去掉
      

  2.   

    如果不按楼上的方法,将代码编译成exe也能看到效果
      

  3.   

    不要在DELHPI的IDE内运行程序,就会看到你自己的错误处理消息了.
      

  4.   

    生成exe文件后,直接运行exe文件就可以看到的.
      

  5.   

    你编译成EXE,单独运行时就会弹出你写的showmessage了.因为你现在用DELPHI调试默认是先弹出DELPHI的DEBUG信息的
      

  6.   


    procedure TForm1.Button1Click(Sender: TObject); 
    begin 
    try 
      strtoint(edit1.text); 
      //raise Exception.Create( '我抛出的异常! '); 
    except 
      //添加的错误处理
      on e: exception do
      begin
        showmessage( 'chucuole '); 
      end;
    end; 
    end; 
    end.