Одной из важных тем в Интернете в наши дни является параллелизм, который приводит к асинхронному выполнению задач. При этом может возникнуть возможность множественных ошибок. Вместо того, чтобы предоставлять общую ошибку, оптимально было бы предоставить множество информации об ошибке. Ошибка Aggregate Error позволяет разработчикам создавать несколько ошибок в одном файле Error.

Aggregate Error невероятно полезен при проверке нескольких наборов данных; вместо того, чтобы выбрасывать одну ошибку за раз, идеально сгруппировать их в одну! Aggregate Error было бы очень полезно в Promise .any ситуации. Коммуникативные, информативные ошибки FTW!

To throw a single error that represents multiple errors, let's employ AggregateError:
const error = new AggregateError([
  new Error('ERROR_11112'),
  new TypeError('First name must be a string'),
  new RangeError('Transaction value must be at least 1'),
  new URIError('User profile link must be https'),
], 'Transaction cannot be processed')

Бросив AggregateError, вы получите следующую информацию:

error instanceof AggregateError // true
error.name // 'AggregateError'
error.message // 'Transaction cannot be processed'
error.errors // The array of errors