Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ja] Translate GPUValidationError #23684

Merged
merged 1 commit into from
Sep 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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)