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

瀏覽器相容性

另見