![]() |
TRestRequest HTTP Exception unter 500 abfangen
Ich habe mich schon gewundert warum meine Kunden bei einer falsch eingegeben URL keine Fehlermeldung erhalten haben und ich habe mir die RestClient Komponente angeschaut.
In executewerden Exceptions abgefangen und nur weitergegeben wenn sie über 500 sind und ein Eigenschaft RestClient.RaiseExceptionOn500 auf TRUE sitzt. Auszug daraus
Code:
Wie kann ich Fehler unter 500 abfangen? Weil mein try..error um das execute wird nicht ausgeführt
except
// any kind of server/protocol error on E: EHTTPProtocolException do begin FExecutionPerformance.ExecutionDone; // we keep measuring only for protocal errors, i.e. where the server actually anwered, not for other exceptions. LContent := E.ErrorMessage; // Full error description //Fill RESTResponse with actual response data - error handler might want to access it ProcessResponse(LURL, LResponseStream, LContent); [B]if (E.ErrorCode >= 500) and Client.RaiseExceptionOn500 then raise ERESTException.Create(E.Message);[/B] HandleEvent(DoHTTPProtocolError); end; |
AW: TRestRequest HTTP Exception unter 500 abfangen
RestClient.OnHTTPProtocolError implmentieren (siehe DoHTTPProtocolError) :zwinker:
![]() oder anschließend den Content der fehlerhaften Abfrage ansehen. (siehe ProcessResponse) Dieses Execute gibt nur "schwerwiegende" Server-Fehler ins Programm raus, wenn >500 aktiviert, aber Client-Fehler und kleine Serverproblemchen werden im Error-Event behandelt. |
AW: TRestRequest HTTP Exception unter 500 abfangen
Ne ist RESTRequest1HTTPProtocolError.
Aber dort steht in errorMessage nichts drin und in Content die HTML Meldung. Ich würde aber gern den Fehler korrekt abfangen und darauf reagieren. In getLastError steht immer 0 drin. Mir geht es darum das Kunden in Ihren Pads die falschen URLs eintippen und ich das bei der Einstellung schon abfangen möchte ob diese korrekt sind. |
AW: TRestRequest HTTP Exception unter 500 abfangen
![]() Das ist natürlich nur für Fehler in Funktionen der WinAPI. Du hast halt nicht die große Wahl. Zitat:
Zitat:
Und alles was keine EHTTPProtocolException ist, wird von diesem Code eh nicht behandelt. |
AW: TRestRequest HTTP Exception unter 500 abfangen
Ok dann parsen wir HTML Code.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:26 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