Spec-Zone.ru › Web APIs

RTCError

Интерфейс RTCError описывает ошибку, возникшую во время обработки операций WebRTC. Он основан на стандартном интерфейсе DOMException, описывающем общие ошибки DOM.

DOMException RTCError

Конструктор

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 */
};

Спецификации

Спецификация
WebRTC: Взаимодействие в режиме реального времени в браузерах
# dom-rtcerror

Совместимость с браузерами

Рабочий стол Мобильный
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API