GPUDevice: popErrorScope() 方法

实验性: 这是一个 实验性技术
在生产环境中使用此功能之前,请仔细查看 浏览器兼容性表

安全上下文: 仅在 安全上下文 (HTTPS) 中,某些或所有 支持的浏览器 中提供此功能。

popErrorScope() 方法是 GPUDevice 接口的一部分,它从错误范围栈中弹出已存在的 GPU 错误范围(最初使用 GPUDevice.pushErrorScope() 推入),并返回一个 Promise,该承诺解析为一个描述范围中捕获的第一个错误的对象,如果未发生错误则解析为 null

语法

js
popErrorScope()

参数

无。

返回值

一个 Promise,该承诺解析为一个描述范围中捕获的第一个错误的对象。它可以是以下类型:

如果未发生错误,则解析为 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

浏览器兼容性

BCD 表仅在浏览器中加载

另请参阅