GPUDevice: pushErrorScope() 方法
pushErrorScope()
方法是 GPUDevice
接口的方法,它将新的 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 |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。
另请参阅
- The WebGPU API