GPUDevice: popErrorScope() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

注意:此功能在 Web Workers 中可用。

popErrorScope() 方法是 GPUDevice 接口的一部分,它会从错误作用域堆栈中弹出(之前使用 GPUDevice.pushErrorScope() 推入)一个现有的 GPU 错误作用域,并返回一个 Promise。该 Promise 会解析为一个描述作用域中捕获到的第一个错误的[对象](https://mdn.org.cn/en-US/docs/Web/API/GPUDevice/popErrorScope#return_value),如果没有发生错误,则解析为 null

语法

js
popErrorScope()

参数

无。

返回值

一个 Promise,它会解析为描述作用域中捕获到的第一个错误的[对象](https://mdn.org.cn/en-US/docs/Web/API/GPUDevice/popErrorScope#return_value)。该类型可以是

如果没有发生错误,它会解析为 null

示例

以下示例使用错误作用域来捕获疑似验证错误,并将其记录到控制台。

js
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-poperrorscope

浏览器兼容性

另见