【JavaScript ECMAScript】AggregateError::AggregateError() constructorコンストラクタの使い方
AggregateError() constructorコンストラクタの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
AggregateError() constructorクラスは、JavaScriptにおいて複数のエラーを一つにまとめて扱うための特別なエラーオブジェクトであるAggregateErrorの新しいインスタンスを生成するクラスです。
このクラスは、通常のErrorオブジェクトが単一のエラー事象を示すのに対し、関連する複数のエラーを一つのオブジェクトとして管理したい場面で非常に有用です。例えば、Promise.allSettled()のように複数の非同期処理を並行して実行した結果、複数の処理が失敗した場合などに発生した全てのエラーをまとめて扱う際に用いられます。
AggregateError() constructorは、主に2つの引数を受け取ります。最初の必須引数はerrorsと呼ばれるイテラブルオブジェクトで、ここには集約したい実際のエラーオブジェクト群(例えば、Errorインスタンスの配列)を渡します。2番目の任意引数はmessageと呼ばれる文字列で、これはこの集約エラー全体に対する簡潔な説明を提供するために使用されます。
新しく生成されたAggregateErrorオブジェクトは、渡されたエラーの集合を自身のerrorsプロパティとして内部に保持し、メッセージも保持します。これにより、エラー処理のロジックを簡潔に保ちつつ、アプリケーション内で発生した複数の問題の原因を効率的に把握し、対処することが可能になります。システム開発における複雑なエラーハンドリングにおいて、特に非同期処理が関わる場面でその真価を発揮します。
構文(syntax)
1new AggregateError([new Error("Error 1"), new Error("Error 2")], "Multiple errors occurred");
引数(parameters)
errors, message, options
- errors: Array<any>: 集約されたエラーの配列
- message: string: エラーの概要を示す文字列
- options: object: オプションのオブジェクト(例: cause)
戻り値(return)
戻り値なし
戻り値はありません