AggregateError

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The AggregateError object represents an error when several errors need to be wrapped in a single error.

Syntax

new AggregateError(errors[, message])

Parameters

errors
An iterable of errors, may not actually be Error instances.
messageOptional
An optional human-readable description of the aggregate error.

Description

An AggregateError is thrown when multiple errors need to be reported by an operation, for example by Promise.any(), when all promises passed to it reject.

Properties

AggregateError.prototype
The AggregateError prototype.

AggregateError instances

Instance properties

AggregateError.prototype.constructor
Specifies the function that created an instance's prototype.
AggregateError.prototype.message
Error message, defaults to "".
AggregateError.prototype.name
Error name, defaults to "AggregateError".
AggregateError.prototype.name
The Array of errors which caused this AggregateError to be thrown. Each access to this property causes a new Array to be created.

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 Status Comment
ESNext Promise.any Proposal Stage 3 Draft Initial definition.

Browser compatibility

No compatibility data found. Please contribute data for "javascript.builtins.AggregateError" (depth: 1) to the MDN compatibility data repository.

See also