GPUDevice:uncapturederror 事件

可用性有限

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

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

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

GPUDevice 接口的 uncapturederror 事件会在未被 GPU 错误范围捕获的错误抛出时触发,以提供报告意外错误的方式。

已知的错误情况应使用 pushErrorScope()popErrorScope() 来处理。

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("uncapturederror", (event) => { })

onuncapturederror = (event) => { }

事件类型

一个 GPUUncapturedErrorEvent。继承自 Event

Event GPUUncapturedErrorEvent

示例

您可以将以下内容用作全局机制,以捕获所有未被错误范围处理的错误。

js
device.addEventListener("uncapturederror", (event) => {
  // Re-surface the error.
  console.error("A WebGPU error was not captured:", event.error);

  reportErrorToServer({
    type: event.error.constructor.name,
    message: event.error.message,
  });
});

有关更多示例和信息,请参阅 WebGPU 错误处理最佳实践

规范

规范
WebGPU
# dom-gpudevice-onuncapturederror

浏览器兼容性

另见