TsgcHTTP3Client › Ereignisse › OnError

OnError Ereignis

Wird ausgelöst, wenn ein Anfrage- oder Verbindungsfehler auftritt.

Syntax

TsgcHTTP3ErrorEvent = procedure(Sender: TObject;

  const aError: string) of object;



property OnError: TsgcHTTP3ErrorEvent read FOnError write FOnError;

Parameter

NameTypBeschreibung
SenderTObjectDie TsgcHTTP3Client-Instanz, die das Ereignis ausgelöst hat.
aErrorconst stringMenschenlesbare Beschreibung des Fehlers.

Hinweise

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.

Beispiel



procedure TfrmMain.OnErrorEvent(Sender: TObject; const aError: string);

begin

  Log('HTTP/3 error: ' + aError);

end;

Zurück zu Ereignissen