RTCError
interface describes an error which has occurred while handling
WebRTC
operations. It's based upon the standard
DOMException
interface that describes general DOM errors.
RTCError()
RTCError
object initialized with the properties of the provided
RTCErrorInit
dictionary and, optionally, a string to use as the value of the error's
message
特性。
In addition to the properties defined by the parent interface,
DOMException
,
RTCError
includes the following properties:
errorDetail
只读
DOMString
specifying the WebRTC-specific error code identifying the type of error that occurred.
receivedAlert
只读
errorDetail
字符串是
dtls-failure
。若
null
, no DTLS error was received.
sctpCauseCode
只读
errorDetail
is
sctp-failure
, this property is a long integer specifying the
SCTP
cause code indicating the cause of the failed SCTP negotiation.
null
if the error isn't an SCTP error.
sdpLineNumber
只读
errorDetail
is
sdp-syntax-error
, this property is a long integer identifying the line number of the
SDP
on which the syntax error occurred.
null
if the error isn't an SDP syntax error.
sentAlert
只读
errorDetail
is
dtls-failure
, this property is an unsigned long integer indicating the fatal DTLS error that was sent out by this device. If
null
, no DTLS error was transmitted.
所有
RTCError
objects have their
名称
设为
OperationError
.
In this example, a handler is established for an
RTCDataChannel
's
error
事件。
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();
}
});
If the error is an SDP syntax error—indicated by its
errorDetail
property being
sdp-syntax-error
—, a message string is constructed to present the error message and the line number within the SDP at which the error occurred. This message is then displayed using a function called
showMyAlertMessage()
, which stands in for whatever output mechanism this code might use.
Any other error is treated as terminal, causing a
terminateMyConnection()
function to be called.
The above example uses
addEventListener()
to add the handler for
error
events. You can also use the
RTCDataChannel
对象的
onerror
event handler property, like this:
dataChannel.onerror = (event) => {
let error = event.error;
/* and so forth */
};
| 规范 | 状态 | 注释 |
|---|---|---|
|
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCError' in that specification. |
候选推荐 | 初始定义。 |
No compatibility data found. Please contribute data for "api.RTCError" (depth: 1) to the MDN 兼容性数据存储库 .
RTCPeerConnection
RTCSessionDescription
RTCIceCandidate
RTCPeerConnectionIceEvent
RTCPeerConnectionIceErrorEvent
RTCCertificate
RTCRtpSender
RTCRtpReceiver
RTCRtpTransceiver
RTCDtlsTransport
RTCIceTransport
RTCTrackEvent
RTCSctpTransport
RTCDataChannel
RTCDataChannelEvent
RTCDTMFSender
RTCDTMFToneChangeEvent
RTCStatsReport
RTCErrorEvent
RTCDTMFSender
:
tonechange
RTCDataChannel
:
bufferedamountlow
RTCDataChannel
:
close
RTCDataChannel
:
closing
RTCDataChannel
:
error
RTCDataChannel
:
message
RTCDataChannel
:
open
RTCDtlsTransport
:
error
RTCDtlsTransport
:
statechange
RTCIceTransport
:
error
RTCIceTransport
:
gatheringstatechange
RTCIceTransport
:
selectedcandidatepairchange
RTCIceTransport
:
statechange
RTCPeerConnection
:
connectionstatechange
RTCPeerConnection
:
datachannel
RTCPeerConnection
:
icecandidate
RTCPeerConnection
:
icecandidateerror
RTCPeerConnection
:
iceconnectionstatechange
RTCPeerConnection
:
icegatheringstatechange
RTCPeerConnection
:
negotiationneeded
RTCPeerConnection
:
signalingstatechange
RTCPeerConnection
:
track
RTCSctpTransport
:
error