javascript - Node.js:如何检查错误?

标签 javascript node.js error-handling

当登录到控制台时,我对 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/

相关文章:

javascript - 在knockout js中this和self关键字的使用有什么区别

node.js - 为什么node.js v12.0.0以另一种方式处理32位以上的数字?

javascript - 使用 underscore.js 加载模板时再次调用 document.ready

脚本中的 Python 错误,但在 jupyter notebook : TypeError: 'module' object is not callable 中有效

javascript - backbone.js如何判断是否在服务器上?

javascript - 如何将 JS 中的 clicktag 添加到使用 flash cc2014 html5 canvas 完成的横幅中?

javascript - Jquery Mobile 的表格没有响应?

javascript - 显示警告 我如何使用 ^

python-3.x - django 不渲染自定义 403 页面,而是显示浏览器默认值

android - 手动向 Android Vitals 报告崩溃