Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   response auswerten (https://www.delphipraxis.net/206143-response-auswerten.html)

venice2 23. Nov 2020 10:54


response auswerten
 
Wenn ich eine abfrage schicke
Delphi-Quellcode:
resp := FHTTP.Post(SendStr, FPostData);


und hier ein Fehler auftritt fange ich diesen über try, except ab.
Ich bekomme dann eine System spezifische Message beim Debuggen gezeigt bsp. "Payment is required for this action"
Mein Problem wie kann ich diese in ein LOG schreiben denn nachdem ich bestätige ist resp nothing bzw. die Message nicht mehr vorhanden.

Bbommel 23. Nov 2020 11:02

AW: response auswerten
 
Delphi-Quellcode:
try
  resp := FHTTP.Post(SendStr, FPostData);
except
  on e: Exception do begin
    yourLog('Oh, das hat nicht geklappt. Fehler: '+e.Message);
    // dann hier noch irgendeinen Status setzen, damit dein Programm danach weiß, dass es nicht geklappt hat
  end;
end;
... wobei yourLog natürlich deine Methode ist, mit der du ins Log-File schreibst.

venice2 23. Nov 2020 11:07

AW: response auswerten
 
Zitat:

Zitat von Bbommel (Beitrag 1477767)
Delphi-Quellcode:
try
  resp := FHTTP.Post(SendStr, FPostData);
except
  on e: Exception do begin
    yourLog('Oh, das hat nicht geklappt. Fehler: '+e.Message);
    // dann hier noch irgendeinen Status setzen, damit dein Programm danach weiß, dass es nicht geklappt hat
  end;
end;
... wobei yourLog natürlich deine Methode ist, mit der du ins Log-File schreibst.

Nun vielleicht hast du meine Frage nicht korrekt verstanden.
Ich möchte kein Message selbst generieren sondern diese vom Fehler Dialog ausgeben. (siehe Debug Message)
Danke.

Bbommel 23. Nov 2020 11:11

AW: response auswerten
 
Zitat:

Zitat von venice2 (Beitrag 1477768)
Ich möchte kein Message selbst generieren sondern diese vom Fehler Dialog ausgeben. (siehe Debug Message)
Danke.


Genau das wird gemacht. Der entscheidende Teil ist
Delphi-Quellcode:
e.Message
oben im Beispiel. Das enthält den Fehlertext, der dir auch im Debugger angezeigt wird. Das "Oh, das hat nicht funktioniert" kannst du natürlich dann auch weglassen.

Klaus01 23. Nov 2020 11:11

AW: response auswerten
 
.. die Meldung sollte dann dcoh in e.message zu finden sein.
Oder suchst Du den http-Repsonse code e.g 402?
Was sagt fHttp.ResponseCode bzw. fHttp.ResponseText?

Grüße
Klaus

venice2 23. Nov 2020 11:21

AW: response auswerten
 
Zitat:

Zitat von Bbommel (Beitrag 1477769)
Zitat:

Zitat von venice2 (Beitrag 1477768)
Ich möchte kein Message selbst generieren sondern diese vom Fehler Dialog ausgeben. (siehe Debug Message)
Danke.


Genau das wird gemacht. Der entscheidende Teil ist
Delphi-Quellcode:
e.Message
oben im Beispiel. Das enthält den Fehlertext, der dir auch im Debugger angezeigt wird. Das "Oh, das hat nicht funktioniert" kannst du natürlich dann auch weglassen.

Ahh.. Ok dann werde ich das ändern.

Delphi-Quellcode:
  try
    SendStr := PProvRec(FProvList[FProvUse]).URL + '/zapi/watch/live/' + FActChlRec.cid;
    resp := FHTTP.Post(SendStr, FPostData);
  except
    on e: Exception do
    begin
      LOG('GetWatchURL', 'Failed ! with Message ' + e.Message);
      FActChlRec := nil;
      FActChlName := '';
      FActChlTitleNow := '';
      FActChlSubNow := '';
      FActChlTitleNext := '';
      FActChlSubNext := '';
      exit;
    end;
  end;
Ausgabe.
Zitat:

[12:19:13:784] [ZATLIB - GetWatchURL]: Failed ! with Message HTTP/1.1 402 Payment Required
Danke schön.
100 * gemacht und vergessen. LOL. So kann es gehn.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:31 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