当登录到控制台时,我对 Node.js Error
对象感到非常困惑...
例如,我有这段代码:
request(
options,
function (err, response, contents) {
if (err) {
console.error('error in request:', err);
}
success(contents);
},
);
有时它会因 ECONNRESET
错误而出错...到目前为止一切顺利。
console.error()
(或 console.log()
)格式是这样的:
[Error: socket hang up] code: 'ECONNRESET'
我无法理解打印的格式:为什么“Error: socket hang up”在方括号中?它是一个对象吗? 一劳永逸:如何检查错误对象以便查看所有单独的属性?
更新: 按照 @chriskelly 的回答,在 Debug模式下运行 Node 后,我得到:
debug> repl
Press Ctrl + C to leave debug repl
> typeof err
'object'
> Object.keys(err)
[]
> console.dir(err)
< [Error: socket hang up] code: 'ECONNRESET'
我一直不理解 err
对象:没有键,但是有内容...:-(
最佳答案
您还可以使用:
console.dir(err);
https://developer.mozilla.org/en-US/docs/Web/API/Console/dir
更新:
这是一个关于错误对象的文档:
https://nodejs.org/api/errors.html
在方括号中错误显示类型和消息。 类型是错误类,消息是传递给错误构造函数的参数。
var e = new TypeError("Bla Bla Bla");
console.log(e);
给出:[TypeError: Bla Bla Bla]
关于javascript - Node.js:如何检查错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32839266/