关于抓错(100分)

  • 主题发起人 主题发起人 looyo
  • 开始时间 开始时间
L

looyo

Unregistered / Unconfirmed
GUEST, unregistred user!
[red][/red][black][/black]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"
但是我上面的程序明明对这个错误做了处理,为什么还抓不到呢?
 
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"
但是我上面的程序明明对这个错误做了处理,为什么还抓不到呢?
 
去掉on ESocketError do 试试
 
统一楼上的, 也许是其他异常...
 
控件内部报错,没有Reraise.
 
你是调试的时候遇到这样的问题的吧
你直接运行你生成的exe呢?
如果还这样的话那就 去掉on ESocketError do 试试
 
我知道了是clientsocket1为异步socket的缘故,但是异步socket就没有办法处理这个错误了
吗?
 
唉!
clientsocket1.Open;里面就已经except...on ...了,所以你外面的
except就捕捉不到了!
 
add :errorcode:=0;
that's ok.
 
后退
顶部