GPUDevice: pushErrorScope() 方法
注意:此功能在 Web Workers 中可用。
GPUDevice 介面的 pushErrorScope() 方法會將一個新的 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 |
瀏覽器相容性
載入中…