如何正确地将节点js中的Error对象转换为字符串?

dte*_*996 10 javascript mysql json node.js

每当我在mysql中输入重复条目时,都会抛出此错误.

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

我想要做的是将此Error对象转换为字符串.我尝试使用JSON.stringify(),当我在控制台上打印它时,只有最后一部分被转换为字符串:

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

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

dte*_*996 21

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

err.toString()
Run Code Online (Sandbox Code Playgroud)

  • 如果您想要完整的堆栈跟踪用户 err.stack https://nodejs.org/api/errors.html#errors_error_message (4认同)

小智 6

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