【问题标题】:How do I convert an Error object in node js to a string properly?如何将节点 js 中的错误对象正确转换为字符串?
【发布时间】:2016-06-28 20:50:57
【问题描述】:

每当我在 mysql 中输入重复条目时都会引发此错误。

{ [Error: ER_DUP_ENTRY: Duplicate entry 'sample@gmail.com' for key 'email '] code: 'ER_DUP_ENTRY', errno: 1062, sqlState: '23000', index: 0 }

我想要做的是把这个错误对象变成一个字符串。我尝试使用 JSON.stringify() 并且当我在控制台上打印它时,只有最后一部分被转换为字符串:

{"code":"ER_DUP_ENTRY","errno":1062,"sqlState":"23000","index":0}

我还需要转换错误的第一部分,即 [ ] 内的部分,以便我能够正确诊断重复项。每当我将 Error 对象转换为字符串时,如何检索该部分?

【问题讨论】:

    标签: javascript mysql json node.js


    【解决方案1】:

    由于错误对象的格式化方式,我认为我必须使用 JSON 来解决这个问题。我如何解决这个问题只是为了使用

    err.toString()
    

    【讨论】:

    【解决方案2】:

    要获取完整堆栈,请使用Error 对象的stack 属性:

    console.log(error.stack)
    

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/stack

    【讨论】:

      【解决方案3】:

      以备将来参考,以防您希望提取错误消息。使用error.message 提取消息。这是一个参考:https://nodejs.org/api/errors.html#errors_error_message

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-10
        • 2022-06-13
        • 2019-12-17
        • 1970-01-01
        • 2018-12-08
        • 2015-06-09
        • 1970-01-01
        • 2018-08-18
        相关资源
        最近更新 更多