![]() |
TNetHTTPRequest.Get im Fehlerfall
Hallo,
wir nutzen Delphi 10.3.2 und wollen mittels TNetHTTPRequest.Get etwas via HTTPS herunterladen. Wir wollen das noch etwas absichern und führen daher eine zertifikatsprüfung durch (wir prüfen einfach den Namen) und lassen die zu Testzwecken gerade scheitern. An der Stelle wo wir Get aufrufen bekommen wir eine IHTTPResponse zurück. In unserem negativ Testfall gibt's dann innerhalb der get eine Exception, die dort aber behandelt wird. Versuchen wir dann aber auf Felder der zurückgegebenen IHTTPResponse zuzugreifen (v.a. auf StatusCode) kracht es mit "--------------------------- Benachrichtigung über Debugger-Exception --------------------------- Im Projekt LisaNT.exe ist eine Exception der Klasse ENetHTTPException mit der Meldung 'Fehler beim Abrufen der Header: (6) Das Handle ist ungültig' aufgetreten. --------------------------- Anhalten Fortsetzen Hilfe ---------------------------" Wie bekommen wir in dem Fall mit (ohne generisch die ENetHTTPException im except Block abzufragen), dass diese Info nicht zur verfügung steht? |
AW: TNetHTTPRequest.Get im Fehlerfall
Bekommt ihr im Fehler da überhaupt etwas zurück?
Wenn nicht, dann nicht auf das ungültige Result zugreifen, sondern mal nachsehn, ob das TNetHTTPRequest noch irgendwo eine Info zur letzten Abfrage bereitstellt. Ansonsten: Try-Except
Delphi-Quellcode:
oder mal nachsehen, ob die THTTP-Dinger nicht irgendw anbieten ein OnException-Methode zu registrieren, bzw. ob es dort Optionen gibt, womit man regeln kann wie diese Komponenten auf bestimmte Fehler reagieren.
except
on E: ENetHTTPException do ... else raise; end; // aka except on E: Exception do if E is ENetHTTPException then ... else raise; end; |
AW: TNetHTTPRequest.Get im Fehlerfall
|
AW: TNetHTTPRequest.Get im Fehlerfall
Ja, das sollten wir uns mal anschauen, danke!
Was an der Doku doof ist (ist im richtigen Dokwiki, du verlinktest ja das von AppMethod, auch nicht besser), ist, dass der Typ des Fehlerevents nicht verlinkt ist und wenn man den mit etwas Suche weiter oben in der Hierarchie gefunden hat, dann ist die Syntax dort nur in C++ angegeben... :-( Hat man gerade kein Delphi in der Hand dauert das Verständnis somit etwas länger. |
AW: TNetHTTPRequest.Get im Fehlerfall
Habe ich bei der Delphi Hilfe auch schon festgestellt, da ist zwar immer beides angegeben, aber C++ immer als erstes. Dabei nutzen wohl die wenigsten Delphi zur C++ Entwicklung.
|
AW: TNetHTTPRequest.Get im Fehlerfall
Naja, beides angezeigt wäre ja ok,
aber in dem Thema steht es nur in C++ Syntax. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 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