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); // "サーバー障害"