建構函式
RTCError()-
建立並返回一個新的
RTCError物件,該物件使用不同的引數進行初始化,並可選地提供一個字串作為錯誤message屬性的值。
例項屬性
除了父介面 DOMException 定義的屬性外,RTCError 還包含以下屬性:
errorDetail只讀-
一個指定 WebRTC 特定錯誤程式碼的字串,用於標識發生的錯誤型別。
receivedAlert只讀-
一個無符號長整型值,指示從網路接收到的致命 DTLS 錯誤。僅當
errorDetail字串為dtls-failure時才有效。如果為null,則未收到 DTLS 錯誤。 sctpCauseCode只讀-
如果
errorDetail是sctp-failure,則此屬性是一個長整型,指定了 SCTP 錯誤程式碼,用於指示 SCTP 協商失敗的原因。如果錯誤不是 SCTP 錯誤,則為null。 sdpLineNumber只讀-
如果
errorDetail是sdp-syntax-error,則此屬性是一個長整型,用於標識發生語法錯誤的 SDP 行號。如果錯誤不是 SDP 語法錯誤,則為null。 sentAlert只讀-
如果
errorDetail是dtls-failure,則此屬性是一個無符號長整型,指示此裝置傳送的致命 DTLS 錯誤。如果為null,則未傳輸 DTLS 錯誤。
注意:所有 RTCError 物件的 name 屬性都設定為 OperationError。
示例
在此示例中,為 RTCDataChannel 的 error 事件設定了一個處理程式。
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();
}
});
如果錯誤是 SDP 語法錯誤(由其 errorDetail 屬性為 sdp-syntax-error 指示),則會構建一個訊息字串來顯示錯誤訊息以及錯誤發生的 SDP 中的行號。然後,使用一個名為 showMyAlertMessage() 的函式來顯示此訊息,該函式代表了此程式碼可能使用的任何輸出機制。
任何其他錯誤都將被視為終結錯誤,並導致呼叫 terminateMyConnection() 函式。
上面的示例使用 addEventListener() 來新增 error 事件的處理程式。您也可以使用 RTCDataChannel 物件的 onerror 事件處理程式屬性,如下所示:
dataChannel.onerror = (event) => {
let error = event.error;
/* and so forth */
};
規範
| 規範 |
|---|
| WebRTC:瀏覽器中的即時通訊 # dom-rtcerror |
瀏覽器相容性
載入中…