TsgcHTTP3Client › Ereignisse › OnError
Wird ausgelöst, wenn ein Anfrage- oder Verbindungsfehler auftritt.
TsgcHTTP3ErrorEvent = procedure(Sender: TObject;
const aError: string) of object;
property OnError: TsgcHTTP3ErrorEvent read FOnError write FOnError;
| Name | Typ | Beschreibung |
|---|---|---|
Sender | TObject | Die TsgcHTTP3Client-Instanz, die das Ereignis ausgelöst hat. |
aError | const string | Menschenlesbare Beschreibung des Fehlers. |
OnError meldet einen Fehler als Textnachricht. So meldet eine asynchrone Anfrage einen Fehlschlag: Der Hintergrund-Thread fängt jede Ausnahme ab, die während der Ausführung der Anfrage ausgelöst wird, und leitet deren Nachricht hierher weiter, weil kein Aufrufer mehr vorhanden ist, an den sie ausgelöst werden könnte.
Das macht das Ereignis unverzichtbar, wann immer Sie die Async-Verben verwenden, denn ohne es bleibt eine fehlgeschlagene Anfrage stumm. Ein synchrones Verb löst die Ausnahme stattdessen zum Aufrufer hin aus und meldet sie außerdem über OnHTTP3Exception, das das Ausnahmeobjekt statt nur dessen Meldung übergibt.
Ein Fehler auf Protokollebene schließt normalerweise die Verbindung, rechnen Sie also damit, dass OnDisconnect folgt.
Das Ereignis wird auf dem Thread ausgelöst, der die Anfrage ausgeführt hat. Bei einem synchronen Verb ist das der Thread, der den Aufruf getätigt hat, bei einem asynchronen Verb der von der Async-Methode erzeugte Hintergrund-Worker-Thread. Synchronisieren Sie, bevor Sie aus dem Handler auf VCL- oder FMX-Steuerelemente zugreifen.
procedure TfrmMain.OnErrorEvent(Sender: TObject; const aError: string);
begin
Log('HTTP/3 error: ' + aError);
end;