Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: TIdHTTP Exception-Meldung ohne Inhalt

  Alt 17. Apr 2007, 11:19
Dein "Trick", um den download mehrfach zu versuchen ist nicht 100% sauber.
Die Exception ist noch nicht korrekt behandelt und schon gehst du rekursiv in die nächste Runde.
Deshalb:
Delphi-Quellcode:
function GetPage(const AURL: string) : string;
var ACount: integer;
begin
  if not Assigned(Server) then
     CreateHTTPClient;

  for ACount := 1 to MaxTries do
  begin
    try
        Server.Disconnect; // Vor der Anfrage pauschal immer Trennen,
                           // damit Verbindung immer neu erstellt wird
        result := Server.Get(AURL);
        Exit; // wir sind fertig !!
    except
      on E: Exception do
          begin
              WriteLog('#EXCEPT(GetPage('+AURL+', '+IntToStr(ACount)+'): '+E.ClassName+'-'+E.Message);
          end;
    end;
    Delay(4000); // Pause
  end;
  Result := 'unable to load: '+AURL;
  WriteLog(Result);
end;
Der Klassenname der Exception wird mitgeloggt, denn dieser ist für die Fehlersuche durchaus interessant.
Andreas
  Mit Zitat antworten Zitat