RTCError
Интерфейс RTCError описывает ошибку, возникшую во время обработки операций WebRTC. Он основан на стандартном интерфейсе DOMException, описывающем общие ошибки DOM.
Конструктор
RTCError()-
Создаёт и возвращает новый объект
RTCError, инициализированный различными параметрами и, необязательно, строкой, используемой в качестве значения свойстваmessageошибки.
Свойства экземпляра
В дополнение к свойствам, определённым родительским интерфейсом DOMException, RTCError включает следующие свойства:
-
errorDetailТолько для чтения -
Строка, определяющая код ошибки WebRTC, идентифицирующий тип произошедшей ошибки.
-
receivedAlertТолько для чтения -
Значение целого без знака, указывающее на критическую ошибку DTLS, полученную из сети. Действительно только если строка
errorDetailравнаdtls-failure. Еслиnull, ошибка DTLS не была получена. -
sctpCauseCodeТолько для чтения -
Если
errorDetailравноsctp-failure, это свойство — целое число, определяющее код причины ошибки SCTP, указывающий на причину неудачной переговоров SCTP.nullесли ошибка не связана с SCTP. -
sdpLineNumberТолько для чтения -
Если
errorDetailравноsdp-syntax-error, это свойство — целое число, определяющее номер строки SDP, в которой произошла синтаксическая ошибка.nullесли ошибка не связана с синтаксической ошибкой SDP. -
sentAlertТолько для чтения -
Если
errorDetailравноdtls-failure, это свойство — целое число без знака, указывающее на критическую ошибку DTLS, отправленную этим устройством. Еслиnull, ошибка DTLS не была отправлена.
Примечание: Все объекты RTCError имеют name установленное значение OperationError.
Примеры
В этом примере обработчик создан для события RTCDataChannel's 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. Также можно использовать свойство обработчика событий onerror объекта RTCDataChannel так:
dataChannel.onerror = (event) => {
let error = event.error;
/* and so forth */
};
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
RTCError |
74 | 79 | Нет | 60 | 15.4 | 74 | Нет | 53 | 15.4 | 11.0 | 74 |
RTCError |
74 | 79 | Нет | 60 | 15.4 | 74 | Нет | 53 | 15.4 | 11.0 | 74 |
errorDetail |
74 | 79 | Нет | 60 | 15.4 | 74 | Нет | 53 | 15.4 | 11.0 | 74 |
httpRequestStatusCode |
74 | 79 | Нет | 62 | Нет | 74 | Нет | 53 | Нет | 11.0 | 74 |
receivedAlert |
74 | 79 | Нет | 60 | 15.4 | 74 | Нет | 53 | 15.4 | 11.0 | 74 |
sctpCauseCode |
74 | 79 | Нет | 60 | 15.4 | 74 | Нет | 53 | 15.4 | 11.0 | 74 |
sdpLineNumber |
74 | 79 | Нет | 60 | 15.4 | 74 | Нет | 53 | 15.4 | 11.0 | 74 |
sentAlert |
74 | 79 | Нет | 60 | 15.4 | 74 | Нет | 53 | 15.4 | 11.0 | 74 |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCError