GPUInternalError

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

注意:此功能在 Web Workers 中可用。

GPUInternalError 接口是 WebGPU API 的一部分,用于描述应用程序错误。当操作因系统或实现特定的原因而失败,即使所有验证要求都已满足时,会抛出此错误。

它代表了 GPUDevice.popErrorScopeuncapturederror 事件所暴露的错误类型之一。

内部错误发生于 WebGPU 实现内部,且该错误未被验证捕获,也未明确识别为内存不足错误。这通常意味着您代码执行的操作以一种难以通过 WebGPU 的 支持的限制 来表达的方式触及了系统限制。相同的操作在不同的设备上可能会成功。这些错误通常仅在创建管线(pipeline creation)时抛出,尤其是在着色器(shader)对于设备而言过于复杂时。

GPUError GPUInternalError

构造函数

GPUInternalError()

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

实例属性

message 属性继承自其父级 GPUError

message 实验性 只读

一个字符串,提供一个人类可读的消息,解释了错误发生的原因。

示例

以下示例使用错误作用域来捕获疑似验证错误,并将其记录到控制台。

js
device.pushErrorScope("internal");

let 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

浏览器兼容性

另见