GPUInternalError

实验性: 这是一个 实验性技术
在生产环境中使用此功能之前,请仔细查看 浏览器兼容性表

安全上下文: 此功能仅在 安全上下文(HTTPS)中可用,并且在某些或所有 支持的浏览器 中可用。

GPUInternalErrorWebGPU API 的一个接口,它描述了一个应用程序错误,表示操作未通过 WebGPU API 的验证约束。

它表示 GPUDevice.popErrorScopeuncapturederror 事件所引发的错误类型之一。

当 WebGPU 实现中发生某些事件且未被验证捕获,也未被明确识别为内存不足错误时,就会发生内部错误。它通常表示您的代码执行的操作以 WebGPU 的 支持的限制 难以表达的方式触及了系统限制。同一操作在不同的设备上可能会成功。这些错误只能在管道创建时引发,通常是当着色器对于设备过于复杂时。

GPUError GPUInternalError

构造函数

GPUInternalError() 实验性

创建一个新的 GPUInternalError 对象实例。

实例属性

message 属性继承自其父级 GPUError

message 实验性 只读

一个字符串,提供一个易于理解的消息,解释错误发生的原因。

示例

以下示例使用错误范围捕获一个疑似验证错误,并将其记录到控制台。

js
device.pushErrorScope("internal");

const module = device.createShaderModule({
  code: shader, // REALLY complex shader
});

device.popErrorScope().then((error) => {
  if (error) {
    // error is a GPUInternalError object instance
    module = null;
    console.error(`An error occurred while creating shader: ${error.message}`);
  }
});

规范

规范
WebGPU
# gpuinternalerror

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅