AggregateError
En esta página
The AggregateError object represents an error when several errors need to be wrapped in a single error. It is thrown when multiple errors need to be reported by an operation, for example by {{jsxref("Promise.any()")}}, when all promises passed to it reject.
Compared to {{jsxref("SuppressedError")}}, AggregateError represents a list of unrelated errors, while SuppressedError represents an error that happened during the handling of another error.
AggregateError is a subclass of {{jsxref("Error")}}.
Constructor#
- {{jsxref("AggregateError/AggregateError", "AggregateError()")}}
- : Creates a new
AggregateErrorobject.
Instance properties#
Also inherits instance properties from its parent {{jsxref("Error")}}.
These properties are defined on AggregateError.prototype and shared by all AggregateError instances.
- {{jsxref("Object/constructor", "AggregateError.prototype.constructor")}}
- : The constructor function that created the instance object. For
AggregateErrorinstances, the initial value is the {{jsxref("AggregateError/AggregateError", "AggregateError")}} constructor. - {{jsxref("Error/name", "AggregateError.prototype.name")}}
- : Represents the name for the type of error. For
AggregateError.prototype.name, the initial value is"AggregateError".
These properties are own properties of each AggregateError instance.
- {{jsxref("AggregateError/errors", "errors")}}
- : An array representing the errors that were aggregated.
Instance methods#
Inherits instance methods from its parent {{jsxref("Error")}}.
Examples#
Catching an 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" ]
});
Creating an 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" ]
}
Specifications#
{{Specifications}}
Browser compatibility#
{{Compat}}
See also#
- Polyfill of
AggregateErrorincore-js - es-shims polyfill of
AggregateError - {{jsxref("Error")}}
- {{jsxref("Promise.any")}}