JavaScript/AggregateError
概要
編集AggregateError
オブジェクトは、複数のエラーをまとめて処理するために使用されるエラーオブジェクトです。このオブジェクトは、通常のError
オブジェクトを拡張し、errors
プロパティを持つ点が特徴です。これにより、エラーの集合を保持し、複数のエラーを1つのオブジェクトで扱うことができます。
コンストラクタ
編集AggregateError(errors, message [, options])
編集AggregateError
コンストラクタは、新しいAggregateError
オブジェクトを作成および初期化します。
引数
編集errors
:- エラーの反復可能オブジェクト(例: 配列)。これには、エラーや他の値が含まれます。
message
:- エラーに関連付けられる説明メッセージ(省略可能)。
options
:- エラーの原因(
cause
プロパティ)を設定するオプションオブジェクト(省略可能)。
- エラーの原因(
動作
編集- 新しい
AggregateError
オブジェクトを作成します。 message
が指定されている場合は、文字列に変換してmessage
プロパティに設定します。options
が指定されている場合は、cause
プロパティを設定します。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); // "サーバー障害"