GPUDevice: uncapturederror event
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Want more browser support for this feature? Tell us why.
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 addEventListener():
addEventListener("uncapturederror", (event) => { })
Alternatively, assign to the event handler property of the interface:
onuncapturederror = (event) => { }
Event type
A 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
See also
- The WebGPU API