gpt4 book ai didi

javascript - Nodejs 自定义错误类抛出 "TypeError: ValidationError is not a constructor"

转载 作者:太空宇宙 更新时间:2023-11-04 03:22:03 24 4
gpt4 key购买 nike

看看有关构建类的其他一些问题,我无法弄清楚我在这里做错了什么。

我有一个名为 ValidationError 的自定义错误类,位于文件validationError.js 中:

class ValidationError extends Error {
constructor(message, errors) {
super(message);
this.errors = errors;
this.name = this.constructor.name;
if (typeof Error.captureStackTrace === 'function') {
Error.captureStackTrace(this, this.constructor);
} else {
this.stack = (new Error(message)).stack;
}
}
}

module.exports = ValidationError;

我需要在另一个文件中使用此类:

const { ValidationError } = require('./validationError');

并像这样调用它,这是抛出错误的行:

const validationError = new ValidationError('JSON failed validation.', result.errors);

抛出的错误是“TypeError: ValidationError is not a constructor”。

我使用的是 Node 10.6.4。

那么我在这里做错了什么?感谢您的帮助!

最佳答案

您不是使用 .ValidationError 构造函数导出对象,而是直接将该类设置为 module.exports。所以在你的导入中它应该是

const ValidationError = require('./validationError');

并且不使用解构语法。

关于javascript - Nodejs 自定义错误类抛出 "TypeError: ValidationError is not a constructor",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49012425/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com