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 GPUInternalError #23662

Merged
merged 1 commit into from
Sep 22, 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/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)