关于抓错

中国资深步行专家 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"
但是我上面的程序明明对这个错误做了处理,为什么还抓不到呢?
...全文
41 点赞 收藏 8
写回复
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;
回复
发动态
发帖子
网络通信/分布式开发
创建于2007-08-02

1565

社区成员

Delphi 网络通信/分布式开发
申请成为版主
社区公告
暂无公告