关于抓错

中国资深步行专家 2003-01-09 11:11:51
procedure TForm1.FormCreate(Sender: TObject);
begin
clientsocket1.Host:='wanghui';
clientsocket1.Port:=222;
try
clientsocket1.Open;
except
on ESocketError do MessageDlg('程序错误,可能由于服务端程序没有启动或者网络不通!',mtWarning , [mbok], 0);
end;
end;
运行这个程序时,如果服务器端程序没有启动,则报错class esocketerror with
message "Asynchronous socket error 10061"
但是我上面的程序明明对这个错误做了处理,为什么还抓不到呢?
...全文
86 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackystar 2003-01-17
  • 打赏
  • 举报
回复
up
DelphiBird 2003-01-17
  • 打赏
  • 举报
回复
应该是在Debug的时候看到的;
直接启动Exe就没了
Sumie@Sam 2003-01-10
  • 打赏
  • 举报
回复
你是在IDE环境下运行的吧,要么你编译后脱离IDE环境,要么将Debugger Options-Language Exception中的Stop on delphi exceptions叉掉。
try
clientsocket1.Open;
except
On ErrInfor:Exception do
Application.MessageBox(ErrInfor.Message,'提示',mb_ok);
end;
GnuSoft 2003-01-10
  • 打赏
  • 举报
回复
调试环境下由系统先报错,在到你的错误处理程序。直接运行exe就没有此问题。
shxhark 2003-01-09
  • 打赏
  • 举报
回复
如果调试环境下运行,便感觉如此.这不是问题.
另外如果还不行,用:
on exception do
进行捕获吧!
gzyzljk 2003-01-09
  • 打赏
  • 举报
回复
运行一下,出错后再按F9你就看到了....
zhang21cnboy 2003-01-09
  • 打赏
  • 举报
回复
你在调试环境下运行的把????

在ide之外运行就可以了!
Jiasong 2003-01-09
  • 打赏
  • 举报
回复
clientsocket1有onerror事件设置ErrorCode=0;

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧