files/en-us/web/api/gpupipelineerror/index.md
{{APIRef("WebGPU API")}}{{SecureContext_Header}}{{AvailableInWorkers}}
The GPUPipelineError interface of the {{domxref("WebGPU API", "WebGPU API", "", "nocode")}} describes a pipeline failure. This is the value received when a {{jsxref("Promise")}} returned by a {{domxref("GPUDevice.createComputePipelineAsync()")}} or {{domxref("GPUDevice.createRenderPipelineAsync()")}} call rejects.
{{InheritanceDiagram}}
GPUPipelineError object instance.Inherits properties from its parent, {{domxref("DOMException")}}.
In the following snippet we are attempting to create a {{domxref("GPUComputePipeline")}} using {{domxref("GPUDevice.createComputePipelineAsync()")}}. However, we have misspelt our compute pipeline entryPoint as "maijn" (it should be "main"), therefore pipeline creation fails, and our catch block prints the resulting reason and error message to the console.
// …
let computePipeline;
try {
computePipeline = await device.createComputePipelineAsync({
layout: device.createPipelineLayout({
bindGroupLayouts: [bindGroupLayout],
}),
compute: {
module: shaderModule,
entryPoint: "maijn",
},
});
} catch (error) {
// error is a GPUPipelineError object instance
console.error(error.reason);
console.error(`Pipeline creation failed: ${error.message}`);
}
// …
In this case, the given reason is "Validation", and the message is "Entry point "maijn" doesn't exist in the shader module [ShaderModule]."
{{Specifications}}
{{Compat}}