AggregateError
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.
* Some parts of this feature may have varying levels of support.
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 Promise.any(), when all promises passed to it reject.
AggregateError is a subclass of Error.
Constructor
AggregateError()-
Creates a new
AggregateErrorobject.
Instance properties
Also inherits instance properties from its parent Error.
These properties are defined on AggregateError.prototype and shared by all AggregateError instances.
AggregateError.prototype.constructor-
The constructor function that created the instance object. For
AggregateErrorinstances, the initial value is theAggregateErrorconstructor. 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.
errors-
An array representing the errors that were aggregated.
Instance methods
Inherits instance methods from its parent 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
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-aggregate-error-objects> |
Browser compatibility
Loading…