TsgcHTTP3Client › Ereignisse › OnHTTP3Exception

OnHTTP3Exception Ereignis

Wird ausgelöst, wenn während der Verarbeitung der HTTP/3-Verbindung eine Ausnahme ausgelöst wird.

Syntax

TsgcHTTP3ExceptionEvent = procedure(Sender: TObject;

  const E: Exception) of object;



property OnHTTP3Exception: TsgcHTTP3ExceptionEvent read FOnHTTP3Exception

  write FOnHTTP3Exception;

Parameter

NameTypBeschreibung
SenderTObjectDie TsgcHTTP3Client-Instanz, die das Ereignis ausgelöst hat.
Econst ExceptionDie Ausnahme. Wenn es sich um eine TsgcHTTP3Exception handelt, trägt ihre Eigenschaft ErrorCode den HTTP/3-Fehlercode aus RFC 9114 Abschnitt 8.1, zum Beispiel h3ecFRAME_ERROR oder h3ecMESSAGE_ERROR.

Hinweise

OnHTTP3Exception liefert das Ausnahmeobjekt selbst, und genau das macht es nützlicher als OnError: Ein TsgcHTTP3Exception stellt einen ErrorCode bereit, der die Protokollverletzung genau benennt, statt nur eine Meldung zu liefern.

Es wird bei Fehlern ausgelöst, die während der Verarbeitung der Verbindung auftreten, einschließlich fehlerhafter vom Peer gesendeter Frames, QPACK-Dekodierungsfehlern und eines Antwort-Bodys, der MaxResponseSize überschritten hat.

Behandeln Sie das Ereignis, um den Fehler zu protokollieren oder zu klassifizieren. Es zuzuweisen schluckt die Ausnahme bei einem synchronen Aufruf nicht, dieser löst weiterhin zum Aufrufer hin aus, behalten Sie daher das umgebende try..except bei.

Beispiel



procedure TfrmMain.OnHTTP3ExceptionEvent(Sender: TObject; const E: Exception);

begin

  if E is TsgcHTTP3Exception then

    Log(Format('HTTP/3 error code %d: %s',

      [Ord(TsgcHTTP3Exception(E).ErrorCode), E.Message]))

  else

    Log(E.Message);

end;

Zurück zu Ereignissen