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

瀏覽器相容性