GPUDevice: popErrorScope() 方法

可用性有限

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

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

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

popErrorScope() 方法是 GPUDevice 介面的一部分,它會從錯誤作用域堆疊中彈出(之前使用 GPUDevice.pushErrorScope() 推入)一個現有的 GPU 錯誤作用域,並返回一個 Promise。該 Promise 會解析為一個描述作用域中捕獲到的第一個錯誤的[物件](https://mdn.club.tw/en-US/docs/Web/API/GPUDevice/popErrorScope#return_value),如果沒有發生錯誤,則解析為 null

語法

js
popErrorScope()

引數

無。

返回值

一個 Promise,它會解析為描述作用域中捕獲到的第一個錯誤的[物件](https://mdn.club.tw/en-US/docs/Web/API/GPUDevice/popErrorScope#return_value)。該型別可以是

如果沒有發生錯誤,它會解析為 null

示例

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

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-poperrorscope

瀏覽器相容性

另見