Spec-Zone.ru › Web APIs

GPUDevice: метод pushErrorScope()

Ограниченная доступность

Эта функция не является базовой, так как она не работает в некоторых из наиболее широко используемых браузеров.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Экспериментальная: Это экспериментальная технология
Перед использованием в производстве тщательно проверьте таблицу совместимости браузеров.

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.

Примечание: Эта функция доступна в рабочих процессах.

Метод pushErrorScope() интерфейса GPUDevice помещает новый контекст ошибок GPU в стек контекстов ошибок устройства, позволяя захватывать ошибки определенного типа.

После завершения захвата ошибок вы можете завершить захват, вызвав GPUDevice.popErrorScope(). Это извлекает контекст из стека и возвращает Promise, который разрешается до объекта, описывающего первую пойманную ошибку в контексте, или null, если ошибки не было поймано.

Синтаксис

pushErrorScope(filter)

Параметры

filter

Перечисление, определяющее тип ошибки, которая будет поймана в данном контексте. Возможные значения:

"internal"

Контекст ошибки поймает GPUInternalError.

"out-of-memory"

Контекст ошибки поймает GPUOutOfMemoryError.

"validation"

Контекст ошибки поймает GPUValidationError.

Возвращаемое значение

Ничего (Undefined).

Примеры

В следующем примере используется контекст ошибки для захвата предполагаемой ошибки валидации и ее вывода в консоль.

device.pushErrorScope("validation");

let sampler = device.createSampler({
  maxAnisotropy: 0, // Invalid, maxAnisotropy must be at least 1.
});

device.popErrorScope().then((error) => {
  if (error) {
    sampler = null;
    console.error(`An error occurred while creating sampler: ${error.message}`);
  }
});

См. Рекомендации по обработке ошибок WebGPU для получения дополнительных примеров и информации.

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

Спецификация
WebGPU
# dom-gpudevice-pusherrorscope

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
pushErrorScope
113В настоящее время поддерживается только на ChromeOS, macOS и Windows.
113В настоящее время поддерживается только на ChromeOS, macOS и Windows.
previewВ настоящее время поддерживается только на Linux и Windows.
99В настоящее время поддерживается только на ChromeOS, macOS и Windows.
preview 121 Нет 81 Нет 25.0 121

См. также

  • API WebGPU

© 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/GPUDevice/pushErrorScope

Spec-Zone.ru

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