Javascript NodeJS-ES6-Extend类Error作为错误响应的一部分返回我自己的类型
我想扩展类错误,并能够通过一些类似以下的调用返回自定义错误:Javascript NodeJS-ES6-Extend类Error作为错误响应的一部分返回我自己的类型,javascript,node.js,typescript,Javascript,Node.js,Typescript,我想扩展类错误,并能够通过一些类似以下的调用返回自定义错误: throw new Error('MessageGoesHere', ObjectWithOtherResultGoesHere | or NULL, ErrorCode); 例如。。。假设我们有一个方法,如下所示,是我自己编的: public getInformation(value1: string, value2:string): Promise<MyDataResponse> { cons
throw new Error('MessageGoesHere', ObjectWithOtherResultGoesHere | or NULL, ErrorCode);
例如。。。假设我们有一个方法,如下所示,是我自己编的:
public getInformation(value1: string, value2:string): Promise<MyDataResponse> {
const promise = this.callFunction2(value1, value2)
.then(result => {
return result;
})
.catch(error => {
MyDataResponse errorResponse = {
field1: value1,
field2: value2
};
throw new CustomError('Error getting information', errorResponse, 003);
});
return Promise.resolve(promise);
}
但是,我无法执行this.status或this.newResultObject,因为它们不属于Error类,所以它从未返回值。那么我应该如何创建CustomError类呢?我应该从另一个错误扩展吗?您的类正在定义status和newResultObject属性,因此您只需要设置它们。 你只需要改变一下
status = status || 500;
newResultObject = newResultObject;
到
在你们班很好!我只是忘记了在我的类中声明这两个属性。一旦我定义了它们,我就可以执行this.status和this.newResultObject。谢谢
status = status || 500;
newResultObject = newResultObject;
this.status = status || 500;
this.newResultObject = newResultObject;