GPUValidationError

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

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

GPUValidationError 介面是 WebGPU API 的一部分,它描述了一個應用程式錯誤,表明某個操作未透過 WebGPU API 的驗證約束。

它代表了 GPUDevice.popErrorScopeuncapturederror 事件所暴露的錯誤型別之一。

每當向 WebGPU 呼叫提供無效輸入時,就會發生驗證錯誤。這些錯誤是一致的、可預測的,並且在應用程式格式正確的情況下不應發生。它們在程式碼執行的每個裝置上都會以相同的方式發生,因此一旦你在開發過程中修復了出現的任何錯誤,你通常就不需要直接觀察它們了。例外情況是,如果你正在使用使用者提供的資源、著色器等,在這種情況下,在載入過程中監視驗證錯誤可能會很有幫助。

注意: 我們已盡力在適當的“驗證”部分提供有用的資訊,幫助你理解為什麼你的 WebGPU 程式碼會出現驗證錯誤,這些部分列出了避免驗證錯誤的條件。例如,請參閱 GPUDevice.createBindGroup() 驗證部分

GPUError GPUValidationError

建構函式

GPUValidationError()

建立一個新的 GPUValidationError 物件例項。

例項屬性

message 屬性繼承自其父級 GPUError

message 實驗性 只讀

一個字串,提供一個人類可讀的訊息,解釋了錯誤發生的原因。

示例

以下示例使用錯誤作用域來捕獲疑似驗證錯誤,並將其記錄到控制檯。

js
device.pushErrorScope("validation");

let sampler = device.createSampler({
  maxAnisotropy: 0, // Invalid, maxAnisotropy must be at least 1.
});

device.popErrorScope().then((error) => {
  if (error) {
    // error is a GPUValidationError object instance
    sampler = null;
    console.error(`An error occurred while creating sampler: ${error.message}`);
  }
});

規範

規範
WebGPU
# gpuvalidationerror

瀏覽器相容性

另見