From 716daebe43a491e27e98e28d8db2402321538825 Mon Sep 17 00:00:00 2001 From: MikeCAT Date: Fri, 20 Sep 2024 00:05:28 +0900 Subject: [PATCH] Translate GPUValidationError --- .../gpuvalidationerror/index.md | 40 ++++++++++++ files/ja/web/api/gpuvalidationerror/index.md | 64 +++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 files/ja/web/api/gpuvalidationerror/gpuvalidationerror/index.md create mode 100644 files/ja/web/api/gpuvalidationerror/index.md diff --git a/files/ja/web/api/gpuvalidationerror/gpuvalidationerror/index.md b/files/ja/web/api/gpuvalidationerror/gpuvalidationerror/index.md new file mode 100644 index 00000000000000..35c8f744a34c2b --- /dev/null +++ b/files/ja/web/api/gpuvalidationerror/gpuvalidationerror/index.md @@ -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) diff --git a/files/ja/web/api/gpuvalidationerror/index.md b/files/ja/web/api/gpuvalidationerror/index.md new file mode 100644 index 00000000000000..d2bfdf94f779cc --- /dev/null +++ b/files/ja/web/api/gpuvalidationerror/index.md @@ -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)