Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】AggregateError::AggregateError: errorsインスタンスデータプロパティの使い方

AggregateError: errorsインスタンスデータプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

AggregateError: errorsプロパティは、AggregateErrorオブジェクトが内部に集約した複数のエラーオブジェクトのリストを保持するプロパティです。

JavaScriptにおいて、複数の非同期処理を同時に実行する際など、複数の操作が並行して進行し、その全てが失敗した場合に、個々のエラーをまとめて一つのエラーとして扱うことがあります。このような場合に利用されるのがAggregateErrorクラスです。

このAggregateError: errorsプロパティは、AggregateErrorが「集約」した実際のエラーオブジェクトを配列として保持しています。例えば、Promise.any()のように、複数のPromiseの中から最初に解決された値を返すメソッドが、全てのPromiseが拒否(失敗)された場合にスローするエラーがAggregateErrorです。このとき、個々のPromiseが拒否された原因となったエラーたちは、AggregateErrorerrorsプロパティに配列として格納されます。

開発者は、このerrorsプロパティを参照することで、集約された個々のエラーの詳細(エラーメッセージやスタックトレースなど)をプログラム上で確認し、それらに応じた具体的なエラーハンドリングを行うことが可能になります。このプロパティの値は常にErrorオブジェクトまたはErrorを継承したオブジェクトを要素とする配列となります。

公式リファレンス: AggregateError: errors

構文(syntax)

1const errorList = [new Error("最初の問題"), new TypeError("データ型が不正です")];
2const aggrErr = new AggregateError(errorList, "処理中に複数の問題が発生しました");
3aggrErr.errors;

引数(parameters)

引数なし

引数はありません

戻り値(return)

Array

AggregateError.errors は、AggregateError オブジェクトがラップしている複数のエラーを格納した配列を返します。

関連コンテンツ