【问题标题】:nodejs console.log of object对象的nodejs console.log
【发布时间】:2015-03-26 11:28:03
【问题描述】:

我在 nodejs 中打印错误对象。 console.log(err) 的输出如下:

{ [error: column "pkvalue" does not exist]
  name: 'error',
  length: 96,
  severity: 'ERROR'}

方括号中打印的信息是什么以及如何访问它?

【问题讨论】:

    标签: javascript node.js console.log


    【解决方案1】:

    这只是常见的Error 部分
    Rest 是额外定义的字段:

    $ node
    > var e = new Error('Some error');
    undefined
    > e.field = 'value'
    'value'
    > console.log(e)
    { [Error: Some error] field: 'value' }
    

    您可以通过message 字段访问错误消息:

    > e.message
    'Some error'
    

    【讨论】:

    • 谢谢。您知道为什么在打印错误对象时该消息作为正常属性不可见吗?这背后的逻辑是什么?
    • 我认为它只是为Error自定义toString方法实现
    【解决方案2】:

    您可以尝试改用util.inspect,它会提供更详细的信息并将对象序列化为不同的字符串。

    https://nodejs.org/api/util.html#util_util_inspect_object_options

    【讨论】:

    • 您好,我试过了,但 util.inspect 以完全相同的方式打印它。 @vp_arth 答案就是我想要的
    猜你喜欢
    • 2017-05-14
    • 1970-01-01
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多