Firefox Tomorrow

web api interface

RTCError

View on MDN ↗

The RTCError interface of the WebRTC API describes an error which has occurred while handling RTC operations. It’s based upon the standard DOMException interface that describes general DOM errors.

Constructor

  • RTCError()
    • : Creates and returns a new RTCError object instance.

Instance properties

Also inherits properties from its parent interface, DOMException.

  • errorDetail Read only
    • : A string specifying the WebRTC-specific error code identifying the type of error that occurred.
  • receivedAlert Read only
    • : A positive integer value indicating the fatal DTLS error received from the network. Only valid if the errorDetail string is dtls-failure. If null, no DTLS error was received.
  • sctpCauseCode Read only
    • : An integer specifying the SCTP cause code indicating the cause of the failed SCTP negotiation. Set if errorDetail is sctp-failure. null if the error isn’t an SCTP error.
  • sdpLineNumber Read only
    • : An integer identifying the line number of the SDP on which the syntax error occurred. Set if errorDetail is sdp-syntax-error. null if the error isn’t an SDP syntax error.
  • sentAlert Read only
    • : A positive integer indicating the fatal DTLS error that was sent out by this device. Set if errorDetail is dtls-failure. If null, no DTLS error was transmitted.

[!NOTE] All RTCError objects have their name set to OperationError.

Examples

Basic usage

In this example, a handler is established for an RTCDataChannel’s error 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—as indicated by the errorDetail property being set to sdp-syntax-error— a message string is constructed to present the error message and line number within the SDP message 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 */
};

Specifications

SpecificationsStandards references are available on the canonical MDN page.

Browser compatibility

Browser compatibilityCompatibility data is available on the canonical MDN page.