GPUDevice: popErrorScope() method

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The popErrorScope() method of the GPUDevice interface pops an existing GPU error scope from the error scope stack (originally pushed using GPUDevice.pushErrorScope()) and returns a Promise that resolves to an object describing the first error captured in the scope, or null if no error occurred.

Syntax

js
popErrorScope()

Parameters

None.

Return value

a Promise that resolves to an object describing the first error captured in the scope. This can be of type:

If no error occurred, it resolves to null.

Examples

The following example uses an error scope to capture a suspected validation error, logging it to the console.

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}`);
  }
});

See WebGPU Error Handling best practices for a lot more examples and information.

Specifications

Specification
WebGPU
# dom-gpudevice-poperrorscope

Browser compatibility

BCD tables only load in the browser

See also