![]() |
REST Exception
Hallo,
ich komme in meiner D11.1 Anwendung mit meinen REST Zugriffen allmählich weiter, habe an einer Stelle bezüglich des Fehlerhandlings aber noch ein Problem. Wenn ich zum Testen eine falsche Portnummer an die URL anhänge, sehe ich in der IDE im Log nach etwas Wartezeit diese Exception: Erste Gelegenheit für Exception bei $7724CA42. Exception-Klasse ENetHTTPClientException mit Meldung 'Fehler beim Senden der Daten: (12029) Die Serververbindung konnte nicht hergestellt werden'. Prozess MyApp.exe (8944) Erste Gelegenheit für Exception bei $7724CA42. Exception-Klasse ERESTException mit Meldung 'REST-Anforderung fehlgeschlagen: Fehler beim Senden der Daten: (12029) Die Serververbindung konnte nicht hergestellt werden'. Prozess MayApp.exe (8944) Nur ich sehe nicht, wo die im Programm aufschlagen würde? Den Request rufe ich mit ExecuteAsync auf und habe mich auch in diese anonyme Fehler Methode gehängt, da kommt das Programm dann aber erst nach diesen Logmeldungen vorbei. Und da scheine ich auch nirgends auf diese Fehlermeldung oben Zugriff zu haben. Oder? Ich habe da nur die Response (ich hätte auch den Request und den RestClient) und die enthält nichts wirklich sinnvolles. Grüße TurboMagic Grüße TurboMagic |
AW: REST Exception
Bei Execute sollte die doch einfach aus der Methode raus knallen
und bei ExecuteAsync in den beiden Error-Events einschlagen? :gruebel: ![]() |
AW: REST Exception
Da gab's die aber nie gesehen...
|
AW: REST Exception
Wenn du ExecuteAsync mit ASynchronized = True aufrufst, werden auch die CompletionHandler mit dem Hauptthread synchronisiert. Der ACompletionHandlerWithError sollte aber bei der Exception aufgerufen werden und enthält in seinem Parameter das Exception Object. Aber das hatte ich ja schon geschrieben:
Zitat:
|
AW: REST Exception
Hallo,
ich habe gerade kurz reingeschaut: diese anynome methode scheint als Parameter ein TObject zu haben. Richtig? Zumindest scheint die Deklaration so zu sein und mein Code compiliert damit. Soll ich dann also diesen TObject Parameter in eine Exception Klasse casten um an die Message ran zu kommen? Oder gibt's dafür bessere Mittel? Grüße TurboMagic |
AW: REST Exception
Ja.
siehe TRESTExecutionThread.Execute -> TRESTExecutionThread.HandleCompletionWithError |
AW: REST Exception
Zitat:
Delphi-Quellcode:
procedure(Arg: TObject)
begin Log('Error', (Arg as Exception).Message); Finished; Completion; end; |
AW: REST Exception
Danke, dann hab' ich jetzt verstanden wie ich's umsetzen kann.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:40 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 by Thomas Breitkreuz