RTCError
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
TheRTCError interface describes an error which has occurred while handlingWebRTC operations. It's based upon the standardDOMException interface that describes general DOM errors.
In this article
Constructor
RTCError()Creates and returns a new
RTCErrorobject initialized with the different parameters and, optionally, a string to use as the value of the error'smessageproperty.
Instance properties
In addition to the properties defined by the parent interface,DOMException,RTCError includes the following properties:
errorDetailRead onlyA string specifying the WebRTC-specific error code identifying the type of error that occurred.
receivedAlertRead onlyAn unsigned long integer value indicating the fatalDTLS error which was received from the network. Only valid if the
errorDetailstring isdtls-failure. Ifnull, no DTLS error was received.sctpCauseCodeRead onlyIf
errorDetailissctp-failure, this property is a long integer specifying theSCTP cause code indicating the cause of the failed SCTP negotiation.nullif the error isn't an SCTP error.sdpLineNumberRead onlyIf
errorDetailissdp-syntax-error, this property is a long integer identifying the line number of theSDP on which the syntax error occurred.nullif the error isn't an SDP syntax error.sentAlertRead onlyIf
errorDetailisdtls-failure, this property is an unsigned long integer indicating the fatal DTLS error that was sent out by this device. Ifnull, no DTLS error was transmitted.
Note:AllRTCError objects have theirname set toOperationError.
Examples
In this example, a handler is established for anRTCDataChannel'serror event.
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(); }});If the error is an SDP syntax error—indicated by itserrorDetailproperty beingsdp-syntax-error—, a message string isconstructed to present the error message and the line number within the SDP at which theerror occurred. This message is then displayed using a function calledshowMyAlertMessage(), which stands in for whatever output mechanism thiscode might use.
Any other error is treated as terminal, causing aterminateMyConnection()function to be called.
The above example usesaddEventListener()to add the handler forerror events. You can also use theRTCDataChannel object'sonerror event handler property, like this:
dataChannel.onerror = (event) => { let error = event.error; /* and so forth */};Specifications
| Specification |
|---|
| WebRTC: Real-Time Communication in Browsers> # dom-rtcerror> |