files/en-us/web/api/rtcerrorevent/error/index.md
{{APIRef("WebRTC")}}
The read-only {{domxref("RTCErrorEvent")}} property error
contains an {{domxref("RTCError")}} object describing the details of the error which the
event is announcing.
An {{domxref("RTCError")}} object whose properties provide details about the error which has occurred in the context of a {{Glossary("WebRTC")}} operation.
In this example, a handler is established for an {{domxref("RTCDataChannel")}}'s {{domxref("RTCDataChannel.error_event", "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 {{domxref("RTCError.errorDetail", "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 {{domxref("EventTarget.addEventListener", "addEventListener()")}}
to add the handler for error events. You can also use the RTCDataChannel object's
{{domxref("RTCDataChannel.error_event", "onerror")}} event handler property, like this:
dataChannel.onerror = (event) => {
let error = event.error;
/* and so forth */
};
{{Specifications}}
{{Compat}}