コンテンツにスキップ

JavaScript/AggregateError

出典: フリー教科書『ウィキブックス(Wikibooks)』

概要

[編集]

AggregateErrorオブジェクトは、複数のエラーをまとめて処理するために使用されるエラーオブジェクトです。このオブジェクトは、通常のErrorオブジェクトを拡張し、errorsプロパティを持つ点が特徴です。これにより、エラーの集合を保持し、複数のエラーを1つのオブジェクトで扱うことができます。

コンストラクタ

[編集]

AggregateError(errors, message [, options])

[編集]

AggregateErrorコンストラクタは、新しいAggregateErrorオブジェクトを作成および初期化します。

引数

[編集]
  • errors:
    • エラーの反復可能オブジェクト(例: 配列)。これには、エラーや他の値が含まれます。
  • message:
    • エラーに関連付けられる説明メッセージ(省略可能)。
  • options:
    • エラーの原因(causeプロパティ)を設定するオプションオブジェクト(省略可能)。

動作

[編集]
  1. 新しいAggregateErrorオブジェクトを作成します。
  2. messageが指定されている場合は、文字列に変換してmessageプロパティに設定します。
  3. optionsが指定されている場合は、causeプロパティを設定します。
  4. errorsからエラーリストを作成し、errorsプロパティに設定します。

プロパティ

[編集]

AggregateError.prototype

[編集]

AggregateErrorのプロトタイプオブジェクトです。このオブジェクトには以下のプロパティが定義されています。

AggregateError.prototype.constructor

[編集]

このプロパティはAggregateErrorコンストラクタを指します。

AggregateError.prototype.message

[編集]

初期値は空文字列("")です。このプロパティにはエラーに関する説明が含まれます。

AggregateError.prototype.name

[編集]

初期値は"AggregateError"です。このプロパティはエラーの名前を表します。

AggregateError.prototype.toString()

[編集]

エラーを文字列として表現します。このメソッドは、エラーのnameおよびmessageプロパティを使用して出力を生成します。

errors

[編集]

AggregateErrorインスタンスのプロパティで、エラーのリストを保持します。これは、元のerrors引数を配列として保存します。

使用例

[編集]

基本的な例

[編集]
try {
    throw new AggregateError([new Error("エラー1"), new Error("エラー2")], "複数のエラーが発生しました");
} catch (e) {
    console.log(e.message); // "複数のエラーが発生しました"
    console.log(e.errors);  // [Error: エラー1, Error: エラー2]
}

causeオプションの使用例

[編集]
const err = new AggregateError([new Error("エラー1")], "複数のエラー", { cause: "サーバー障害" });
console.log(err.cause); // "サーバー障害"

関連項目

[編集]