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

浏览器兼容性