AggregateError
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2020 browserübergreifend verfügbar.
Das AggregateError-Objekt stellt einen Fehler dar, wenn mehrere Fehler in einem einzigen Fehler zusammengefasst werden müssen. Es wird ausgelöst, wenn eine Operation mehrere Fehler melden muss, beispielsweise Promise.any(), wenn alle übergebenen Promises abgelehnt werden.
Im Gegensatz zu SuppressedError stellt AggregateError eine Liste voneinander unabhängiger Fehler dar. SuppressedError hingegen stellt einen Fehler dar, der bei der Behandlung eines anderen Fehlers aufgetreten ist.
AggregateError ist eine Unterklasse von Error.
Konstruktor
AggregateError()-
Erstellt ein neues
AggregateError-Objekt.
Instanzeigenschaften
Erbt außerdem Instanzeigenschaften von der übergeordneten Klasse Error.
Diese Eigenschaften sind auf AggregateError.prototype definiert und werden von allen AggregateError-Instanzen gemeinsam genutzt.
AggregateError.prototype.constructor-
Die Konstruktorfunktion, die das Instanzobjekt erstellt hat. Für
AggregateError-Instanzen ist der Anfangswert der KonstruktorAggregateError. AggregateError.prototype.name-
Gibt den Namen des Fehlertyps an. Für
AggregateError.prototype.nameist der Anfangswert"AggregateError".
Diese Eigenschaften sind eigene Eigenschaften jeder AggregateError-Instanz.
errors-
Ein Array mit den zusammengefassten Fehlern.
Instanzmethoden
Erbt Instanzmethoden von der übergeordneten Klasse Error.
Beispiele
>Einen AggregateError abfangen
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" ]
});
Einen AggregateError erstellen
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" ]
}
Spezifikationen
| Spezifikation |
|---|
| ECMAScript® 2027 Language Specification> # sec-aggregate-error-objects> |