JavaScript

AggregateError オブジェクト

 編集:2022.08.10 by T.A.

AggregateError オブジェクトは、複数のエラーを1つのエラーにまとめる必要があるときのエラーを表します。これは一つの操作で複数のエラーを報告する必要があるときに発生します。例えば Promise.any() において、渡されたすべてのプロミスが拒否された場合などです。

コンストラクター
new AggregateError()
新しい AggregateError オブジェクトを生成します。
インスタンス プロパティ
AggregateError.prototype.message
エラーメッセージで、既定値は "" です。
AggregateError.prototype.name
エラー名で、既定値は AggregateError です。
AggregateError の捕捉
//コンソールにて
Promise.any([
  Promise.reject(new Error("some error")),
]).catch(e => {
  console.log(e instanceof AggregateError); // true
  console.log(e.message);                   // "All Promises rejected"
  console.log(e.name);                      // "AggregateError"
  console.log(e.errors);                    // [ Error: "some error" ]
});
AggregateError の生成
//コンソールにて
try {
  throw new AggregateError([
    new Error("some error"),
  ], 'Hello');
} catch (e) {
  console.log(e instanceof AggregateError); // true
  console.log(e.message);                   // "Hello"
  console.log(e.name);                      // "AggregateError"
  console.log(e.errors);                    // [ Error: "some error" ]
}

テスト