nodejs 使用的 Error 构造函数的参数是什么?
What are the arguments for the Error constructor function that nodejs uses?
我知道您可以向构造函数传递这样的消息:
err = new Error('This is an error');
但是是否有更多参数可以处理,例如错误名称、错误代码等...?
我也可以这样设置:
err.name = 'missingField';
err.code = 99;
但为了简洁起见,如果构造函数可以接受它们,我想将它们传递给它们。
我可以包装函数,但只在需要时才想这样做。
构造函数或文档的代码在哪里?我搜索了网络、nodejs.org 网站和 github,但没有找到它。
您在 node.js 中使用的 Error
class 不是节点特定的 class。它来自 JavaScript。
如 MDN 所述,Error
构造函数的语法如下:
new Error([message[, fileName[, lineNumber]]])
其中 fileName
和 lineNumber
不是标准功能。
要合并自定义属性,您可以手动将其添加到 Error
class 的实例中,或者创建您的自定义错误,如下所示:
// 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;
我知道您可以向构造函数传递这样的消息:
err = new Error('This is an error');
但是是否有更多参数可以处理,例如错误名称、错误代码等...?
我也可以这样设置:
err.name = 'missingField';
err.code = 99;
但为了简洁起见,如果构造函数可以接受它们,我想将它们传递给它们。
我可以包装函数,但只在需要时才想这样做。
构造函数或文档的代码在哪里?我搜索了网络、nodejs.org 网站和 github,但没有找到它。
您在 node.js 中使用的 Error
class 不是节点特定的 class。它来自 JavaScript。
如 MDN 所述,Error
构造函数的语法如下:
new Error([message[, fileName[, lineNumber]]])
其中 fileName
和 lineNumber
不是标准功能。
要合并自定义属性,您可以手动将其添加到 Error
class 的实例中,或者创建您的自定义错误,如下所示:
// 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;