GPUDevice: uncapturederror event
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
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.
Note: This feature is available in Web Workers.
The uncapturederror
event of the GPUDevice
interface is fired when an error is thrown that has not been observed by a GPU error scope, to provide a way to report unexpected errors.
Known error cases should be handled using pushErrorScope()
and popErrorScope()
.
Syntax
Use the event name in methods like addEventListener()
, or set an event handler property.
addEventListener("uncapturederror", (event) => {});
onuncapturederror = (event) => {};
Event type
An GPUUncapturedErrorEvent
. Inherits from Event
.
Examples
You could use something like the following as a global mechanism to pick up any errors that aren't handled by error scopes and capture them.
device.addEventListener("uncapturederror", (event) => {
// Re-surface the error.
console.error("A WebGPU error was not captured:", event.error);
reportErrorToServer({
type: event.error.constructor.name,
message: event.error.message,
});
});
See WebGPU Error Handling best practices for more examples and information.
Specifications
Specification |
---|
WebGPU # dom-gpudevice-onuncapturederror |
Browser compatibility
BCD tables only load in the browser
See also
- The WebGPU API