The error read-only property of the RTCErrorEvent interface contains an RTCError object that describes the WebRTC-specific details of the error.
An RTCError object.
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") {
const errLine = error.sdpLineNumber;
const errMessage = error.message;
const 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 SDP message line number where 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 */
};