Node.js:如何检查错误
Node.js: how to inspect errors?
我对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> 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在方括号中Error显示类型和消息。Type是错误类,message是传递给错误构造函数的参数。
var e = new TypeError("Bla Bla Bla");
console.log(e);
给出:[TypeError: Bla Bla Bla]
请求返回的错误类型是一个error对象:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error
它的属性之一是一个名为properties的数组,第二个条目包含您在方括号中看到的文本。Javascript可以指定不同程度的可见性,一些自定义对象(如Error)设置了这些属性:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Enumerability_and_ownership_of_properties
尝试使用debug
开关运行node,并使用debugger
关键字创建断点。即修改代码如下:
if (err) {
console.error(err)
debugger;
}
然后按如下命令运行node:
node debug server.js
- 节点将在第一行中断,所以输入'c'继续。
当它停在上面一行时,输入
repl
(代表read, eval, print, loop)来检查变量例如:键入Object.keys(err)
检查err的属性(假设它是一个对象)
供参考,对于图形替代,您可以尝试node-inspector,您可以安装:
npm install -g node-inspector
然后运行
node-debug server.js
您的代码将在Chrome中打开,并为您提供在前端调试期间可用的相同工具。
HTH .
- 在node.js中写入ECONNRESET错误和套接字连接检查
- 错误检查在Javascript中不起作用
- javascript window.location在检查firebug时给了我一个错误的url路径
- 提交前首先检查错误
- jquery图像加载检查错误
- 函数返回Promise,检查错误
- 编程术语 - 当您不断检查错误消息的相关性时,它叫什么
- 欧芹js在触发虚拟网页浏览之前检查错误
- 如何在虚拟地球/必应地图加载中检查错误
- 变量检查错误的代码(javascript)
- JavaScript表单验证是't检查错误
- 测试一个由承诺返回的函数——检查错误
- Node.js:如何检查错误
- If语句检查错误类型
- Javascript url检查错误
- 通过检查错误变量来停止提交表单
- 我必须检查错误后,每回调在nodejs
- Angular2异常处理程序-检查错误对象是否为响应
- 使用AngularJS$http服务和Coinbase API的MIME类型检查错误
- 在香芹最小检查错误信息的特殊效果,Rails 4