Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
RTCError
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
DasRTCError-Interface beschreibt einen Fehler, der bei der Verarbeitung vonWebRTC-Operationen aufgetreten ist. Es basiert auf dem standardmäßigenDOMException-Interface, das allgemeine DOM-Fehler beschreibt.
In diesem Artikel
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 SchnittstelleDOMException definierten Eigenschaften enthältRTCError folgende Eigenschaften:
errorDetailSchreibgeschütztEin String, der den WebRTC-spezifischen Fehlercode angibt, der den Typ des aufgetretenen Fehlers identifiziert.
receivedAlertSchreibgeschütztEin unsignierter langer Integer-Wert, der den fatalenDTLS-Fehler angibt, der aus dem Netzwerk empfangen wurde. Nur gültig, wenn der
errorDetail-Stringdtls-failureist. Wennnull, wurde kein DTLS-Fehler empfangen.sctpCauseCodeSchreibgeschütztWenn
errorDetailsctp-failureist, handelt es sich bei dieser Eigenschaft um einen langen Integer, der denSCTP-Ursachencode angibt, der die Ursache für das Scheitern der SCTP-Verhandlung angibt.null, wenn der Fehler kein SCTP-Fehler ist.sdpLineNumberSchreibgeschütztWenn
errorDetailsdp-syntax-errorist, handelt es sich bei dieser Eigenschaft um einen langen Integer, der die Zeilennummer desSDP identifiziert, auf der der Syntaxfehler aufgetreten ist.null, wenn der Fehler kein SDP-Syntaxfehler ist.sentAlertSchreibgeschütztWenn
errorDetaildtls-failureist, 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:AlleRTCError-Objekte haben ihrenname aufOperationError gesetzt.
Beispiele
In diesem Beispiel wird ein Handler für dasRTCDataChannelerror-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 dieerrorDetail-Eigenschaft alssdp-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 namensshowMyAlertMessage() 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 namensterminateMyConnection() aufgerufen wird.
Das obige Beispiel verwendetaddEventListener(), um den Handler fürerror-Ereignisse hinzuzufügen. Sie können auch dieonerror-Ereignishandler-Eigenschaft desRTCDataChannel-Objekts wie folgt verwenden:
dataChannel.onerror = (event) => { let error = event.error; /* and so forth */};Spezifikationen
| Specification |
|---|
| WebRTC: Real-Time Communication in Browsers> # dom-rtcerror> |