web api instance method
GPUDevice: pushErrorScope() method
Secure contextAvailable in workers
The pushErrorScope() method of the
GPUDevice interface pushes a new GPU error scope onto the device’s error scope stack, allowing you to capture errors of a particular type.
Once you are done capturing errors, you can end capture by invoking popErrorScope(). This pops the scope from the stack and returns a Promise that resolves to an object describing the first error captured in the scope, or null if no errors were captured.
Syntax
pushErrorScope(filter)
Parameters
filter- : An enumerated value that specifies what type of error will be caught in this particular error scope. Possible values are:
"internal"- : The error scope will catch a
GPUInternalError.
- : The error scope will catch a
"out-of-memory"- : The error scope will catch a
GPUOutOfMemoryError.
- : The error scope will catch a
"validation"- : The error scope will catch a
GPUValidationError.
- : The error scope will catch a
- : An enumerated value that specifies what type of error will be caught in this particular error scope. Possible values are:
Return value
None (undefined).
Examples
The following example uses an error scope to capture a suspected validation error, logging it to the console.
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
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.
See also
- The WebGPU API