【发布时间】:2019-06-30 05:57:58
【问题描述】:
我从我的 SQLite 数据库返回一个错误对象。当我用console.log(err) 显示它时,我得到:
{ 记录:{ 错误:SQLITE_ERROR:没有这样的表:showcaseUsers errno: 1、代码:'SQLITE_ERROR' } }
然而,当我用JSON.stringify(err) 显示它时,我只得到:
{"records":{"errno":1,"code":"SQLITE_ERROR"}}
我想在字符串中获取错误消息no such table: showcaseUsers。
我发现如何做到这一点的唯一方法是:
const errorText = console.log(data);
但这也将数据输出到控制台,这是不可取的。
我怎样才能 (1) 阻止 console.log 将其内容输出到控制台,或者 (2) 以其他方式获取字符串中的错误消息?
注意:此时我在 Node 中,而不是在浏览器中,所以Capturing javascript console.log? 的答案似乎没有帮助。
【问题讨论】:
-
“我发现如何做到这一点的唯一方法是:const errorText = console.log(data);”删除console.log?
const errorText=data; -
JSON.stringify missing properties 的可能重复项我认为这应该对您有所帮助;)这看起来与您的对象一模一样!
-
@EdwardTanguay 您可能希望重新表述问题以反映真正的问题(即从错误对象中获取数据)而不是您的预期解决方案(拦截控制台)。尽管您确实问过如何“以其他方式在字符串中获取错误消息”,但所写问题的其余部分是经典的“XY 问题”。
-
谢谢@Alnitak,我改写了标题,以便更好地反映内容和答案。
标签: javascript node.js json console.log