RTCErrorEvent: error 属性

只读 RTCErrorEvent 属性 error 包含一个 RTCError 对象,该对象描述了事件所宣布的错误的详细信息。

一个 RTCError 对象,其属性提供了有关在 WebRTC 操作的上下文中发生的错误的详细信息。

示例

在本例中,为 RTCDataChannelerror 事件建立了一个处理程序。

js
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();
  }
});

如果错误是 SDP 语法错误——由其 errorDetail 属性为 sdp-syntax-error 所指示——则会构建一个消息字符串以显示错误消息和 SDP 中发生错误的行号。然后,此消息将使用名为 showMyAlertMessage() 的函数显示,该函数代表此代码可能使用的任何输出机制。

任何其他错误都被视为致命错误,导致调用 terminateMyConnection() 函数。

上面的示例使用 addEventListener()error 事件添加处理程序。您也可以使用 RTCDataChannel 对象的 onerror 事件处理程序属性,如下所示

js
dataChannel.onerror = (event) => {
  let error = event.error;

  /* and so forth */
};

规范

规范
WebRTC: 浏览器中的实时通信
# dom-rtcerrorevent-error

浏览器兼容性

BCD 表格仅在浏览器中加载