AggregateError
Базовый уровень Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с сентября 2020 года.
Объект AggregateError представляет ошибку, когда несколько ошибок необходимо объединить в одну. Она выбрасывается, когда операция должна сообщить о нескольких ошибках, например, с помощью Promise.any(), когда все переданные ей промисы отклоняются.
По сравнению с SuppressedError, AggregateError представляет собой список несвязанных ошибок, тогда как SuppressedError представляет ошибку, произошедшую во время обработки другой ошибки.
AggregateError является подклассом Error.
Конструктор
-
AggregateError() - Создает новый объект
AggregateError.
Свойства экземпляра
Также наследует свойства экземпляра от своего родителя Error.
Эти свойства определены в AggregateError.prototype и являются общими для всех экземпляров AggregateError.
-
AggregateError.prototype.constructor - Функция-конструктор, создавшая объект экземпляра. Для экземпляров
AggregateErrorначальным значением является конструкторAggregateError. -
AggregateError.prototype.name - Представляет имя типа ошибки. Для
AggregateError.prototype.nameначальным значением является"AggregateError".
Эти свойства являются собственными свойствами каждого экземпляра AggregateError.
-
errors - Массив, представляющий ошибки, которые были агрегированы.
Методы экземпляра
Наследует методы экземпляра от своего родителя Error.
Примеры
Перехват 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" ]
});
Создание 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" ]
}
Спецификации
Совместимость с браузерами
| Десктопные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
AggregateError |
85 |
85 |
79 |
71 |
14 |
85 |
79 |
60 |
14 |
14.0 |
85 |
14 |
1.0.0 |
1.2 |
15.0.0 |
AggregateError |
85 |
85 |
79 |
71 |
14 |
85 |
79 |
60 |
14 |
14.0 |
85 |
14 |
1.0.0 |
1.2 |
15.0.0 |
errors |
85 |
85 |
79 |
71 |
14 |
85 |
79 |
60 |
14 |
14.0 |
85 |
14 |
1.0.0 |
1.2 |
15.0.0 |
serializable_object |
98AggregateError сериализуется в тип Error, без дополнительных свойств. |
98AggregateError сериализуется в тип Error, без дополнительных свойств. |
103AggregateError сериализуется в тип AggregateError, со свойствами name, message, cause, и errors. |
84AggregateError сериализуется в тип Error, без дополнительных свойств. |
17 |
98AggregateError сериализуется в тип Error, без дополнительных свойств. |
103AggregateError сериализуется в тип AggregateError, со свойствами name, message, cause, и errors. |
68AggregateError сериализуется в тип Error, без дополнительных свойств. |
17 |
18.0AggregateError сериализуется в тип Error, без дополнительных свойств. |
98AggregateError сериализуется в тип Error, без дополнительных свойств. |
17 |
? |
Нет |
Нет |
Смотрите также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError