Skip to content

Commit

Permalink
Translate GPUInternalError
Browse files Browse the repository at this point in the history
  • Loading branch information
mikecat committed Sep 18, 2024
1 parent d7c2882 commit 4ddfb84
Show file tree
Hide file tree
Showing 2 changed files with 101 additions and 0 deletions.
40 changes: 40 additions & 0 deletions files/ja/web/api/gpuinternalerror/gpuinternalerror/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: "GPUInternalError: GPUInternalError() コンストラクター"
slug: Web/API/GPUInternalError/GPUInternalError
l10n:
sourceCommit: 89c435da452257b944b403cc9e45036fcb22590e
---

{{APIRef("WebGPU API")}}{{SeeCompatTable}}{{SecureContext_Header}}

**`GPUInternalError()`** コンストラクターは、新しい {{domxref("GPUInternalError")}} オブジェクトのインスタンスを生成します。

## 構文

```js-nolint
new GPUInternalError(message)
```

### 引数

- `message`
- : なぜエラーが発生したかを説明する人間向けのメッセージを提供する文字列です。

##

開発者は、自分でこのコンストラクターを用いて `GPUInternalError` オブジェクトを生成することはないでしょう。ユーザーエージェントは、内部エラーが {{domxref("GPUDevice.popErrorScope")}} または {{domxref("GPUDevice.uncapturederror_event", "uncapturederror")}} イベントで浮かび上がってきた際、適切なオブジェクトを生成するためにこのコンストラクターを用います。

`GPUInternalError` オブジェクトのインスタンスを扱う例は、メインの [`GPUInternalError`](/ja/docs/Web/API/GPUInternalError#例) のページを参照してください。

## 仕様書

{{Specifications}}

## ブラウザーの互換性

{{Compat}}

## 関連情報

- [WebGPU API](/ja/docs/Web/API/WebGPU_API)
- [WebGPU Error Handling best practices](https://toji.dev/webgpu-best-practices/error-handling)
61 changes: 61 additions & 0 deletions files/ja/web/api/gpuinternalerror/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
title: GPUInternalError
slug: Web/API/GPUInternalError
l10n:
sourceCommit: 779045977059a6809ba82548352ce1b00d70dfc7
---

{{APIRef("WebGPU API")}}{{SeeCompatTable}}{{SecureContext_Header}}

{{domxref("WebGPU API", "WebGPU API", "", "nocode")}} の **`GPUInternalError`** インターフェイスは、バリデーションの要求がすべて満たされたにもかかわらずシステムまたは実装に固有の理由で処理に失敗したことを表すアプリケーションエラーを表します。

これは、{{domxref("GPUDevice.popErrorScope")}} および {{domxref("GPUDevice.uncapturederror_event", "uncapturederror")}} イベントで浮かび上がったエラーの型の一つを表します。

内部エラーは、バリデーションに引っかからず、アウトオブメモリーエラーであると明確に特定できない何かが WebGPU の実装で起きたとき発生します。これは、一般的に、コードが実行しようとした処理が WebGPU で[対応している制限](/ja/docs/Web/API/GPUSupportedLimits)で表すのが難しい点でシステムの制限に引っかかったことを示します。同じ処理は、他のデバイスでは成功するかもしれません。このようなエラーはパイプラインの生成でのみ発生し、通常はシェーダーがデバイスにとって複雑すぎるとき発生します。

{{InheritanceDiagram}}

## コンストラクター

- {{domxref("GPUInternalError.GPUInternalError", "GPUInternalError()")}} {{Experimental_Inline}}
- : 新しい `GPUInternalError` オブジェクトのインスタンスを生成します。

## インスタンスプロパティ

親の {{domxref("GPUError")}} から `message` プロパティを継承しています。

- {{domxref("GPUError.message", "message")}} {{Experimental_Inline}} {{ReadOnlyInline}}
- : なぜエラーが発生したかを説明する人間向けのメッセージを提供する文字列です。

##

以下の例では、エラースコープを用いてバリデーションエラーだと疑われるものをキャプチャし、コンソールに記録します。

```js
device.pushErrorScope("internal");

const module = device.createShaderModule({
code: shader, // **非常に**複雑なシェーダー
});

device.popErrorScope().then((error) => {
if (error) {
// error は GPUInternalError オブジェクトのインスタンス
module = null;
console.error(`シェーダーの作成時にエラー発生: ${error.message}`);
}
});
```

## 仕様書

{{Specifications}}

## ブラウザーの互換性

{{Compat}}

## 関連情報

- [WebGPU API](/ja/docs/Web/API/WebGPU_API)
- [WebGPU Error Handling best practices](https://toji.dev/webgpu-best-practices/error-handling)

0 comments on commit 4ddfb84

Please sign in to comment.