Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TidHTTP (fehler-)meldungen unterdrücken (https://www.delphipraxis.net/117815-tidhttp-fehler-meldungen-unterdruecken.html)

nat 25. Jul 2008 13:59


TidHTTP (fehler-)meldungen unterdrücken
 
hallo...

gibt es eigentlich eine möglichkeit die "fehlermeldungen" die TidHTTP so wirft
zu unterdrücken. ich rufe z.B. eine seite auf, die gibt dann "500 Internal Server Error"
zurück. diese meldung möchte ich aber nicht ausgeben, sondern abfangen und
entsprechend anderen code ausführen. das geht aber nicht, da indy keine exception
wirft, sondern direkt ne messagebox ausgibt. das ist für mich doch leider etwas
lästig und ich hab irgendwie keine lösung bisher gefunden.
vll sehe ich ja auch nur den wald vor lauter bäumen nicht...

Assertor 25. Jul 2008 15:55

Re: TidHTTP (fehler-)meldungen unterdrücken
 
Hi nat,
Zitat:

Zitat von nat
das geht aber nicht, da indy keine exception
wirft, sondern direkt ne messagebox ausgibt.

Bitte? Das wäre mir neu... Kannst Du mal etwas Code posten, wo und wie Du versuchst, die Meldung zu unterdrücken?

Gruß Assertor

inherited 25. Jul 2008 18:43

Re: TidHTTP (fehler-)meldungen unterdrücken
 
Haben die Indys nicht auch OnError-Events die man nutzen kann?

nat 28. Jul 2008 13:52

Re: TidHTTP (fehler-)meldungen unterdrücken
 
hab das problem schon gelöst...
ich hatte ein konstrukt in dieser art:

Delphi-Quellcode:
function HTTPPost(URL: String; Params: TStringList): String;
begin
  FHTTP.Request.CustomHeaders.Values['Cookie'] := GetCookieString;
  FHTTP.Request.UserAgent := USER_AGENT;
  try
    result := FHTTP.Post(URL, Params);
  except
    on EIdConnClosedGracefully do
        {blablabla};
   else
     raise;
   end;
end;

....
try
  response := HTTPPost(url, params);
  ...
except
  result := false;
end;
wenn eine exception aufgetreten is in der func HTTPPost, dan is er da in
den except block gesprungen. da sollte sie nochma geworfen werden
und dann halt in dem except block beim aufruf landen.
nur da is er nie gelandet. es wurde dann halt direkt ne msg-box ausgegeben
(und der äußere except block halt ignoriert)

irgendwie hat mir das verzichten auf

Delphi-Quellcode:
   else
     raise;
   end;
dann geholfen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz