Muchas gracias por la ayuda, lo solucione de la siguiente forma, para que no me eleve una excepción, utilice una clase interpuesta con la finalidad de redefinir el método Connected, y que este me regresara True o False, dependiendo, está solución la encontré gracias a la asesoría de Al González.
Código Delphi
[-]
unit UGeneral;
interface
uses
IdTCPClient, IdStack;
type
TIdTCPClient = Class (IdTCPClient.TIdTCPClient)
function Connected :Boolean; Override;
end;
implementation
function TIdTCPClient.Connected :Boolean;
begin
try
Result := Inherited Connected;
except
on EIdSocketError do
Result := False;
end;
end;
end.
Espero que a alguién más le sirva, saludos.