GPUDevice: pushErrorScope() 方法
注意:此功能在 Web Workers 中可用。
GPUDevice 接口的 pushErrorScope() 方法会将一个新的 GPU 错误作用域推入设备的错误作用域堆栈,允许您捕获特定类型的错误。
完成错误捕获后,您可以通过调用 GPUDevice.popErrorScope() 来结束捕获。这将从堆栈中弹出该作用域,并返回一个 Promise,该 Promise 会解析为一个描述作用域中捕获的第一个错误的对象,如果没有捕获到任何错误,则解析为 null。
语法
js
pushErrorScope(filter)
参数
filter-
一个枚举值,指定在此特定错误作用域中将捕获哪种类型的错误。可能的值为:
"internal"-
错误作用域将捕获一个
GPUInternalError。 "out-of-memory"-
错误作用域将捕获一个
GPUOutOfMemoryError。 "validation"-
错误作用域将捕获一个
GPUValidationError。
返回值
无 (Undefined)。
示例
以下示例使用错误作用域来捕获疑似验证错误,并将其记录到控制台。
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-pusherrorscope |
浏览器兼容性
加载中…