AggregateError
AggregateError
对象表示当多个错误需要包装在一个错误中时发生的错误。例如,当传递给它的所有 Promise 都被拒绝时,由 Promise.any()
等操作报告多个错误时,会抛出此错误。
AggregateError
是 Error
的子类。
构造函数
AggregateError()
-
创建一个新的
AggregateError
对象。
实例属性
还继承了其父类 Error
的实例属性.
这些属性定义在 AggregateError.prototype
上,并由所有 AggregateError
实例共享。
AggregateError.prototype.constructor
-
创建实例对象的构造函数。对于
AggregateError
实例,初始值为AggregateError
构造函数。 AggregateError.prototype.name
-
表示错误类型的名称。对于
AggregateError.prototype.name
,初始值为"AggregateError"
。
这些属性是每个 AggregateError
实例的自有属性。
errors
-
一个表示已聚合错误的数组。
实例方法
继承了其父类 Error
的实例方法.
示例
捕获 AggregateError
js
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
js
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" ]
}
规范
规范 |
---|
ECMAScript 语言规范 # sec-aggregate-error-objects |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。