【JavaScript ECMAScript】AggregateError::AggregateError: errorsインスタンスデータプロパティの使い方
AggregateError: errorsインスタンスデータプロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
AggregateError: errorsプロパティは、AggregateErrorオブジェクトが内部に集約した複数のエラーオブジェクトのリストを保持するプロパティです。
JavaScriptにおいて、複数の非同期処理を同時に実行する際など、複数の操作が並行して進行し、その全てが失敗した場合に、個々のエラーをまとめて一つのエラーとして扱うことがあります。このような場合に利用されるのがAggregateErrorクラスです。
このAggregateError: errorsプロパティは、AggregateErrorが「集約」した実際のエラーオブジェクトを配列として保持しています。例えば、Promise.any()のように、複数のPromiseの中から最初に解決された値を返すメソッドが、全てのPromiseが拒否(失敗)された場合にスローするエラーがAggregateErrorです。このとき、個々のPromiseが拒否された原因となったエラーたちは、AggregateErrorのerrorsプロパティに配列として格納されます。
開発者は、このerrorsプロパティを参照することで、集約された個々のエラーの詳細(エラーメッセージやスタックトレースなど)をプログラム上で確認し、それらに応じた具体的なエラーハンドリングを行うことが可能になります。このプロパティの値は常にErrorオブジェクトまたはErrorを継承したオブジェクトを要素とする配列となります。
構文(syntax)
1const errorList = [new Error("最初の問題"), new TypeError("データ型が不正です")]; 2const aggrErr = new AggregateError(errorList, "処理中に複数の問題が発生しました"); 3aggrErr.errors;
引数(parameters)
引数なし
引数はありません
戻り値(return)
Array
AggregateError.errors は、AggregateError オブジェクトがラップしている複数のエラーを格納した配列を返します。