AggregateError() constructor

The AggregateError() constructor creates an error for several errors that need to be wrapped in a single error.


new AggregateError(errors)
new AggregateError(errors, message)
new AggregateError(errors, message, options)

AggregateError(errors, message)
AggregateError(errors, message, options)

Note: AggregateError() can be called with or without new. Both create a new AggregateError instance.



An iterable of errors, may not actually be Error instances.

message Optional

An optional human-readable description of the aggregate error.

options Optional

An object that has the following properties:

cause Optional

A property indicating the specific cause of the error. When catching and re-throwing an error with a more-specific or useful error message, this property can be used to pass the original 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(;                      // "AggregateError"
  console.log(e.errors);                    // [ Error: "some error" ]


ECMAScript Language Specification
# sec-aggregate-error-constructor

Browser compatibility

BCD tables only load in the browser

See also