-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
148 additions
and
0 deletions.
There are no files selected for viewing
46 changes: 46 additions & 0 deletions
46
files/ja/web/api/gpupipelineerror/gpupipelineerror/index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
--- | ||
title: "GPUPipelineError: GPUPipelineError() コンストラクター" | ||
slug: Web/API/GPUPipelineError/GPUPipelineError | ||
l10n: | ||
sourceCommit: 89c435da452257b944b403cc9e45036fcb22590e | ||
--- | ||
|
||
{{APIRef("WebGPU API")}}{{SeeCompatTable}}{{SecureContext_Header}} | ||
|
||
**`GPUPipelineError()`** コンストラクターは、新しい {{domxref("GPUPipelineError")}} オブジェクトのインスタンスを生成します。 | ||
|
||
## 構文 | ||
|
||
```js-nolint | ||
new GPUPipelineError(message, options) | ||
``` | ||
|
||
### 引数 | ||
|
||
- `message` {{optional_inline}} | ||
- : なぜエラーが起きたのかを説明する人間向けのメッセージを提供する文字列です。指定されなかった場合は、`message` は空文字列 (`""`) になります。 | ||
- `options` | ||
- : オブジェクトで、以下のプロパティを持つことができます。 | ||
- `reason` | ||
- : パイプラインの生成に失敗した理由を機械可読な形式で表す列挙値です。値は以下のいずれかです。 | ||
- `"internal"`: パイプラインの生成は内部エラーのため失敗しました。(この種類のエラーについて詳しくは、{{domxref("GPUInternalError")}} を参照してください) | ||
- `"validation"`: パイプラインの生成はバリデーションエラーのため失敗しました。(この種類のエラーについて詳しくは、{{domxref("GPUValidationError")}} を参照してください) | ||
|
||
## 例 | ||
|
||
開発者は、自分でこのコンストラクターを用いて `GPUPipelineError` オブジェクトを生成することはないでしょう。ユーザーエージェントは、パイプラインの失敗を表すため {{domxref("GPUDevice.createComputePipelineAsync()")}} や {{domxref("GPUDevice.createRenderPipelineAsync()")}} が返した {{jsxref("Promise")}} が拒否されるとき、このコンストラクターを用いて適切なオブジェクトを生成します。 | ||
|
||
`GPUPipelineError` オブジェクトのインスタンスを扱う例は、メインの [`GPUPipelineError`](/ja/docs/Web/API/GPUPipelineError#例) のページを参照してください。 | ||
|
||
## 仕様書 | ||
|
||
{{Specifications}} | ||
|
||
## ブラウザーの互換性 | ||
|
||
{{Compat}} | ||
|
||
## 関連情報 | ||
|
||
- The [WebGPU API](/en-US/docs/Web/API/WebGPU_API) | ||
- [WebGPU Error Handling best practices](https://toji.dev/webgpu-best-practices/error-handling) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
--- | ||
title: GPUPipelineError | ||
slug: Web/API/GPUPipelineError | ||
l10n: | ||
sourceCommit: 89c435da452257b944b403cc9e45036fcb22590e | ||
--- | ||
|
||
{{APIRef("WebGPU API")}}{{SeeCompatTable}}{{SecureContext_Header}} | ||
|
||
{{domxref("WebGPU API", "WebGPU API", "", "nocode")}} の **`GPUPipelineError`** インターフェイスは、パイプラインの失敗を表現します。これは、{{domxref("GPUDevice.createComputePipelineAsync()")}} や {{domxref("GPUDevice.createRenderPipelineAsync()")}} から返された {{jsxref("Promise")}} が拒否されたとき渡される値です。 | ||
|
||
{{InheritanceDiagram}} | ||
|
||
## コンストラクター | ||
|
||
- {{domxref("GPUPipelineError.GPUPipelineError", "GPUPipelineError()")}} {{Experimental_Inline}} | ||
- : 新しい `GPUPipelineError` オブジェクトのインスタンスを生成します。 | ||
|
||
## インスタンスプロパティ | ||
|
||
_親の {{domxref("DOMException")}} からプロパティを継承します。_ | ||
|
||
- {{domxref("GPUPipelineError.reason", "reason")}} {{Experimental_Inline}} {{ReadOnlyInline}} | ||
- : パイプラインの生成に失敗した理由を機械可読な形式で表す列挙値です。 | ||
|
||
## 例 | ||
|
||
以下のスニペットでは、{{domxref("GPUDevice.createComputePipelineAsync()")}} を用いて {{domxref("GPUComputePipeline")}} を生成しようとしています。しかし、コンピュートパイプラインの `entryPoint` を (`"main"` とするべきなのに) `"maijn"` とスペルミスしているので、パイプラインの生成に失敗し、`catch` ブロックで処理結果の理由とエラーメッセージをコンソールに出力します。 | ||
|
||
```js | ||
// ... | ||
|
||
let computePipeline; | ||
|
||
try { | ||
computePipeline = await device.createComputePipelineAsync({ | ||
layout: device.createPipelineLayout({ | ||
bindGroupLayouts: [bindGroupLayout], | ||
}), | ||
compute: { | ||
module: shaderModule, | ||
entryPoint: "maijn", | ||
}, | ||
}); | ||
} catch (error) { | ||
// error は GPUPipelineError オブジェクトのインスタンス | ||
console.error(error.reason); | ||
console.error(`パイプラインの生成に失敗: ${error.message}`); | ||
} | ||
|
||
// ... | ||
``` | ||
|
||
この場合、得られる `reason` は `"Validation"` で、`message` は `"Entry point "maijn" doesn't exist in the shader module [ShaderModule]."` です。 | ||
|
||
## 仕様書 | ||
|
||
{{Specifications}} | ||
|
||
## ブラウザーの互換性 | ||
|
||
{{Compat}} | ||
|
||
## 関連情報 | ||
|
||
- [WebGPU API](/ja/docs/Web/API/WebGPU_API) | ||
- [WebGPU Error Handling best practices](https://toji.dev/webgpu-best-practices/error-handling) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
--- | ||
title: "GPUPipelineError: reason プロパティ" | ||
slug: Web/API/GPUPipelineError/reason | ||
l10n: | ||
sourceCommit: 89c435da452257b944b403cc9e45036fcb22590e | ||
--- | ||
|
||
{{APIRef("WebGPU API")}}{{SeeCompatTable}}{{SecureContext_Header}} | ||
|
||
{{domxref("GPUPipelineError")}} インターフェイスの読み取り専用プロパティ **`reason`** は、パイプラインの生成に失敗した理由を機械可読な形式で表します。 | ||
|
||
## 値 | ||
|
||
列挙値で、以下のいずれかの値をとります。 | ||
|
||
- `"internal"` | ||
- : パイプラインの生成は内部エラーのため失敗しました。(この種類のエラーについて詳しくは、{{domxref("GPUInternalError")}} を参照してください) | ||
- `"validation"` | ||
- : パイプラインの生成はバリデーションエラーのため失敗しました。(この種類のエラーについて詳しくは、{{domxref("GPUValidationError")}} を参照してください) | ||
|
||
## 例 | ||
|
||
`GPUPipelineError` オブジェクトのインスタンスを扱う例は、メインの [`GPUPipelineError`](/ja/docs/Web/API/GPUPipelineError#例) のページを参照してください。 | ||
|
||
## 仕様書 | ||
|
||
{{Specifications}} | ||
|
||
## ブラウザーの互換性 | ||
|
||
{{Compat}} | ||
|
||
## 関連情報 | ||
|
||
- [WebGPU API](/ja/docs/Web/API/WebGPU_API) |