Skip to content

Commit

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

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

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

## 構文

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

### 引数

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

##

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

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

## 仕様書

{{Specifications}}

## ブラウザーの互換性

{{Compat}}

## 関連情報

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

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

{{domxref("WebGPU API", "WebGPU API", "", "nocode")}} の **`GPUValidationError`** インターフェイスは、操作が WebGPU API のバリデーションの制約を満たさなかったことを表すアプリケーションエラーを表現します。

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

バリデーションエラーは、WebGPU の呼び出し時に無効な入力が与えられると常に発生します。これらは一貫性があり、予測可能で、正しく作られたアプリケーションでは発生しないはずです。これらはコードを実行するどのデバイスでも同じように発生するので、一旦開発中に現れたエラーをすべて修正したら、ほとんどの期間これらを直接観測しなくてよいでしょう。このルールの例外はユーザーが提供するアセットやシェーダーなどを用いる場合で、この場合は読み込み時のバリデーションエラーの監視が役立つでしょう。

> [!NOTE]
> それが適切な場合、WebGPU のコードでバリデーションエラーが発生する理由を理解する助けとなる有用な情報を「バリデーション」節で提供しようとしています。これは、バリデーションエラーを回避するために満たすべき条件のリストです。例として、[`GPUDevice.createBindGroup()` の「バリデーション」節](/ja/docs/Web/API/GPUDevice/createBindGroup#バリデーション)を見てください。
{{InheritanceDiagram}}

## コンストラクター

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

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

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

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

##

以下の例では、エラースコープを用いてバリデーションエラーの可能性があるものをキャプチャし、コンソールに記録します。

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

let sampler = device.createSampler({
maxAnisotropy: 0, // 無効、maxAnisotropy は 1 以上でなければならない
});

device.popErrorScope().then((error) => {
if (error) {
// error は GPUValidationError オブジェクトのインスタンス
sampler = 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 716daeb

Please sign in to comment.