AggregateError

AggregateError オブジェクトは、複数のエラーを1つのエラーにまとめる必要があるときのエラーを表します。これは一つの操作で複数のエラーを報告する必要があるときに発生します。例えば Promise.any() において、渡されたすべてのプロミスが拒否された場合などです。

コンストラクター

AggregateError()
新しい AggregateError オブジェクトを生成します。

インスタンスプロパティ

AggregateError.prototype.message
エラーメッセージで、既定値は "" です。
AggregateError.prototype.name
エラー名で、既定値は AggregateError です。

AggregateError の捕捉

Promise.any([
  Promise.reject(new Error("some error")),
]).catch(e => {
  console.log(e instanceof AggregateError); // true
  console.log(e.message);                   // "All Promises rejected"
  console.log(e.name);                      // "AggregateError"
  console.log(e.errors);                    // [ Error: "some error" ]
});

AggregateError の生成

try {
  throw new AggregateError([
    new Error("some error"),
  ], 'Hello');
} catch (e) {
  console.log(e instanceof AggregateError); // true
  console.log(e.message);                   // "Hello"
  console.log(e.name);                      // "AggregateError"
  console.log(e.errors);                    // [ Error: "some error" ]
}

仕様書

仕様書
Promise.any
AggregateError の定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
AggregateErrorChrome 完全対応 85Edge 未対応 なしFirefox 完全対応 79IE 未対応 なしOpera 未対応 なしSafari 完全対応 14WebView Android 完全対応 85Chrome Android 完全対応 85Firefox Android 未対応 なしOpera Android 未対応 なしSafari iOS 完全対応 14Samsung Internet Android 未対応 なしnodejs 未対応 なし
AggregateError() constructorChrome 完全対応 85Edge 未対応 なしFirefox 完全対応 79IE 未対応 なしOpera 未対応 なしSafari 完全対応 14WebView Android 完全対応 85Chrome Android 完全対応 85Firefox Android 未対応 なしOpera Android 未対応 なしSafari iOS 完全対応 14Samsung Internet Android 未対応 なしnodejs 未対応 なし

凡例

完全対応  
完全対応
未対応  
未対応

関連情報