RTCError
Das RTCError
-Interface beschreibt einen Fehler, der bei der Verarbeitung von WebRTC-Operationen aufgetreten ist. Es basiert auf dem standardmäßigen DOMException
-Interface, das allgemeine DOM-Fehler beschreibt.
Konstruktor
RTCError()
-
Erstellt und gibt ein neues
RTCError
-Objekt zurück, das mit verschiedenen Parametern und optional einem String initialisiert wird, der als Wert dermessage
-Eigenschaft des Fehlers verwendet wird.
Instanz-Eigenschaften
Neben den von der übergeordneten Schnittstelle DOMException
definierten Eigenschaften enthält RTCError
folgende Eigenschaften:
errorDetail
Schreibgeschützt-
Ein String, der den WebRTC-spezifischen Fehlercode angibt, der den Typ des aufgetretenen Fehlers identifiziert.
receivedAlert
Schreibgeschützt-
Ein unsignierter langer Integer-Wert, der den fatalen DTLS-Fehler angibt, der aus dem Netzwerk empfangen wurde. Nur gültig, wenn der
errorDetail
-Stringdtls-failure
ist. Wennnull
, wurde kein DTLS-Fehler empfangen. sctpCauseCode
Schreibgeschützt-
Wenn
errorDetail
sctp-failure
ist, handelt es sich bei dieser Eigenschaft um einen langen Integer, der den SCTP-Ursachencode angibt, der die Ursache für das Scheitern der SCTP-Verhandlung angibt.null
, wenn der Fehler kein SCTP-Fehler ist. sdpLineNumber
Schreibgeschützt-
Wenn
errorDetail
sdp-syntax-error
ist, handelt es sich bei dieser Eigenschaft um einen langen Integer, der die Zeilennummer des SDP identifiziert, auf der der Syntaxfehler aufgetreten ist.null
, wenn der Fehler kein SDP-Syntaxfehler ist. sentAlert
Schreibgeschützt-
Wenn
errorDetail
dtls-failure
ist, handelt es sich bei dieser Eigenschaft um einen unsignierten langen Integer, der den fatalen DTLS-Fehler angibt, der von diesem Gerät gesendet wurde. Wennnull
, wurde kein DTLS-Fehler gesendet.
Hinweis:
Alle RTCError
-Objekte haben ihren name
auf OperationError
gesetzt.
Beispiele
In diesem Beispiel wird ein Handler für das RTCDataChannel
error
-Ereignis eingerichtet.
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 – angezeigt durch die errorDetail
-Eigenschaft als sdp-syntax-error
– wird ein Nachrichten-String zusammengestellt, um die Fehlermeldung und die Zeilennummer innerhalb der SDP, an der der Fehler aufgetreten ist, darzustellen. Diese Nachricht wird dann mit einer Funktion namens showMyAlertMessage()
angezeigt, die als Platzhalter für einen beliebigen Ausgabemechanismus dient, den dieser Code verwenden könnte.
Jeder andere Fehler wird als terminal behandelt, wodurch eine Funktion namens 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 wie folgt verwenden:
dataChannel.onerror = (event) => {
let error = event.error;
/* and so forth */
};
Spezifikationen
Specification |
---|
WebRTC: Real-Time Communication in Browsers # dom-rtcerror |
Browser-Kompatibilität
BCD tables only load in the browser