我知道你可以向Constructor传递这样的信息:
err = new Error('This is an error');
但是它有更多的参数可以处理,如错误名称,错误代码等......?
我也可以像这样设置它们:
err.name = 'missingField';
err.code = 99;
但为了简洁起见,我希望将它们传递给构造函数,如果它可以接受它们。
我可以包装该函数,但只在需要时才想这样做。
构造函数或文档的代码在哪里?我在网上搜索过,nodejs.org网站和github并没有找到它。
答案 0 :(得分:2)
您在node.js中使用的Error
类不是特定于节点的类。它来自JavaScript。
如MDN所述,Error
构造函数的语法如下:
new Error([message[, fileName[, lineNumber]]])
fileName
和lineNumber
不是标准功能。
要合并自定义属性,您可以手动将其添加到Error
类的实例,也可以创建自定义错误,如下所示:
// Create a new object, that prototypally inherits from the Error constructor.
function MyError(message, code) {
this.name = 'MyError';
this.message = message || 'Default Message';
this.code = code;
}
MyError.prototype = Object.create(Error.prototype);
MyError.prototype.constructor = MyError;