Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

RTCError

Baseline 2026
Neu verfügbar

Seit April 2026 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.

Die RTCError-Schnittstelle der WebRTC API beschreibt einen Fehler, der bei der Verarbeitung von RTC-Operationen aufgetreten ist. Sie basiert auf der Standard-DOMException-Schnittstelle, die allgemeine DOM-Fehler beschreibt.

DOMException RTCError

Konstruktor

RTCError()

Erstellt und gibt eine neue RTCError-Objektinstanz zurück.

Instanz-Eigenschaften

Erbt auch Eigenschaften von ihrer übergeordneten Schnittstelle, DOMException.

errorDetail Schreibgeschützt

Ein Zeichenfolgenwert, der den WebRTC-spezifischen Fehlercode angibt, der den Typ des aufgetretenen Fehlers identifiziert.

receivedAlert Schreibgeschützt

Ein positiver Ganzzahlenwert, der den schwerwiegenden DTLS-Fehler angibt, der vom Netzwerk empfangen wurde. Nur gültig, wenn die errorDetail-Zeichenfolge dtls-failure ist. Wenn null, wurde kein DTLS-Fehler empfangen.

sctpCauseCode Schreibgeschützt

Eine Ganzzahl, die den SCTP-Ursachencode angibt, der die Ursache der fehlgeschlagenen SCTP-Verhandlung anzeigt. Wird gesetzt, wenn errorDetail sctp-failure ist. null, wenn der Fehler kein SCTP-Fehler ist.

sdpLineNumber Schreibgeschützt

Eine Ganzzahl, die die Zeilennummer der SDP angibt, in der der Syntaxfehler aufgetreten ist. Wird gesetzt, wenn errorDetail sdp-syntax-error ist. null, wenn der Fehler kein SDP-Syntaxfehler ist.

sentAlert Schreibgeschützt

Eine positive Ganzzahl, die den schwerwiegenden DTLS-Fehler angibt, der von diesem Gerät gesendet wurde. Wird gesetzt, wenn errorDetail dtls-failure ist. Wenn null, wurde kein DTLS-Fehler gesendet.

Hinweis: Alle RTCError-Objekte haben ihren name auf OperationError gesetzt.

Beispiele

Grundlegende Verwendung

In diesem Beispiel wird ein Handler für das error-Ereignis eines RTCDataChannel eingerichtet.

js
dataChannel.addEventListener("error", (event) => {
  let error = event.error; // event.error is an RTCError

  if (error.errorDetail === "sdp-syntax-error") {
    let errLine = error.sdpLineNumber;
    let errMessage = error.message;

    let alertMessage = `A syntax error occurred interpreting line ${errLine} of the SDP: ${errMessage}`;
    showMyAlertMessage("Data Channel Error", alertMessage);
  } else {
    terminateMyConnection();
  }
});

Wenn der Fehler ein SDP-Syntaxfehler ist - was daran erkennbar ist, dass die Eigenschaft errorDetail auf sdp-syntax-error gesetzt ist - wird eine Nachricht konstruiert, um die Fehlermeldung und die Zeilennummer innerhalb der SDP-Nachricht darzustellen, bei der der Fehler aufgetreten ist. Diese Nachricht wird dann mit einer Funktion namens showMyAlertMessage() angezeigt, die für welche Ausgabemethode auch immer dieser Code verwenden mag, steht.

Jeder andere Fehler wird als endgültig behandelt, indem eine Funktion terminateMyConnection() aufgerufen wird.

Das obige Beispiel verwendet addEventListener(), um den Handler für error-Ereignisse hinzuzufügen. Sie können auch die onerror-Ereignishandler-Eigenschaft des RTCDataChannel-Objekts verwenden, wie folgt:

js
dataChannel.onerror = (event) => {
  let error = event.error;

  /* and so forth */
};

Spezifikationen

Spezifikation
WebRTC: Real-Time Communication in Browsers
# dom-rtcerror

Browser-Kompatibilität