嗨,我是使用 Delphi 的新手,正在尝试编写一个应用程序来检查网站是否已启动或是否有任何问题。我正在使用 Indy 的 IdHTT。问题是它会捕获任何协议错误,但不会捕获套接字错误之类的东西。
procedure TWebSiteStatus.Button1Click(Sender: TObject);
var
http : TIdHTTP;
url : string;
code : integer;
begin
url := 'http://www.'+Edit1.Text;
http := TIdHTTP.Create(nil);
try
try
http.Head(url);
code := http.ResponseCode;
except
on E: EIdHTTPProtocolException do
code := http.ResponseCode;
end;
ShowMessage(IntToStr(code));
if code <> 200 then
begin
Edit2.Text:='Something is wrong with the website';
down;
end;
finally
http.Free();
end;
end;
我基本上是在尝试捕捉任何不是网站正常的事情,所以我可以调用另一个表格,该表格将设置一封电子邮件告诉我网站已关闭。
更新:首先,您是对的,我确实错过了“然后”,很抱歉正在删除其他代码,并且被错误地删除了。在处理异常时我不知道具体到一般情况谢谢。最后我确实找到了我要找的是这里的代码
on E: EIdSocketError do
使用使用 IdStack