概要

編集

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); // "サーバー障害"

関連項目

編集