构造函数
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 |
浏览器兼容性
加载中…