The read-only RTCErrorEvent
property error
contains an RTCError
object describing the details of the error which the event is announcing.
Syntax
let errorInfo = rtcErrorEvent.error;
Value
An RTCError
object whose properties provide details about the error which has occurred in the context of a WebRTC operation. Since RTCError
is based upon DOMException
, it includes those properties. Additional properties defined by RTCError
are:
errorDetail
Read only- A
DOMString
specifying the WebRTC-specific error code identifying the type of error that occurred. receivedAlert
Read only- An unsigned long integer value indicating the fatal DTLS error which was received from the network. Only valid if the
errorDetail
string isdtls-failure
. Ifnull
, no DTLS error was received. sctpCauseCode
Read only- If
errorDetail
issctp-failure
, this property is a long integer specifying the SCTP cause code indicating the cause of the failed SCTP negotiation.null
if the error isn't an SCTP error. sdpLineNumber
Read only- If
errorDetail
issdp-syntax-error
, this property is a long integer identifying the line number of the SDP on which the syntax error occurred.null
if the error isn't an SDP syntax error. sentAlert
Read only- If
errorDetail
isdtls-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.
All RTCError
objects have their name
set to OperationError
.
Examples
In this example, a handler is established for an RTCDataChannel
's error
event.
dataChannel.addEventListener("error", (event) => {
let error = event.error;
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 its errorDetail
property being sdp-syntax-error
—, a message string is constructed to present the error message and the line number within the SDP at which the error occurred. This message is then displayed using a function called showMyAlertMessage()
, which stands in for whatever output mechanism this code might use.
Any other error is treated as terminal, causing a terminateMyConnection()
function to be called.
The above example uses addEventListener()
to add the handler for error
events. You can also use the RTCDataChannel
object's onerror
event handler property, like this:
dataChannel.onerror = (event) => {
let error = event.error;
/* and so forth */
};
Specifications
Specification | Status | Comment |
---|---|---|
WebRTC 1.0: Real-time Communication Between BrowsersThe definition of 'RTCErrorEvent.error' in that specification. | Candidate Recommendation | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
error
|
Chrome
? |
Edge
? |
Firefox
? |
IE
No support No |
Opera
? |
Safari
? |
WebView Android
? |
Chrome Android
? |
Firefox Android
? |
Opera Android
? |
Safari iOS
Full support 6 |
Samsung Internet Android
? |
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
RTCErrorEvent.error by Mozilla Contributors is licensed under CC-BY-SA 2.5.