GPUInternalError

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Das GPUInternalError-Interface der WebGPU-API beschreibt einen Anwendungsfehler, der auftritt, wenn eine Operation aus einem system- oder implementierungsspezifischen Grund fehlschlägt, selbst wenn alle Validierungsanforderungen erfüllt waren.

Es stellt eine der Fehlertypen dar, die von GPUDevice.popErrorScope und dem uncapturederror-Ereignis angezeigt werden.

Interne Fehler treten auf, wenn etwas in der WebGPU-Implementierung geschieht, das nicht durch Validierung abgefangen wurde und nicht klar als Speicherplatzfehler identifiziert werden konnte. Dies bedeutet im Allgemeinen, dass eine Operation in Ihrem Code auf ein Systemlimit gestoßen ist, das schwer mit den unterstützten Limits von WebGPU auszudrücken war. Die gleiche Operation könnte auf einem anderen Gerät erfolgreich sein. Diese können nur durch die Erstellung von Pipelines ausgelöst werden, normalerweise, wenn der Shader für das Gerät zu komplex ist.

GPUError GPUInternalError

Konstruktor

GPUInternalError() Experimentell

Erstellt eine neue Instanz des GPUInternalError-Objekts.

Instanz-Eigenschaften

Die Eigenschaft message wird von ihrem übergeordneten Element GPUError geerbt:

message Experimentell Schreibgeschützt

Ein String, der eine menschenlesbare Nachricht bereitstellt, die erklärt, warum der Fehler aufgetreten ist.

Beispiele

Das folgende Beispiel verwendet einen Fehlerbereich, um einen vermuteten Validierungsfehler zu erfassen und ihn im Konsolenprotokoll auszugeben.

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}`);
  }
});

Spezifikationen

Specification
WebGPU
# gpuinternalerror

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch