如何获得财产出这是只出现在执行console.log()JavaScript对象,但不是在JSON.stringify()?
我发现了一个错误的对象从我SQLite数据库回来。当我与console.log(err)
显示它,我得到:
{记录:{错误:SQLITE_ERROR:没有这样的表:showcaseUsers errno设置:1,代码: 'SQLITE_ERROR'}}
然而,当我与JSON.stringify(err)
显示它,我只得到:
{ “记录”:{ “错误号”:1, “代码”: “SQLITE_ERROR”}}
我想在一个字符串错误消息no such table: showcaseUsers
。
我已经找到了如何做到这一点的唯一方法是这样的:
const errorText = console.log(data);
但是,这也将数据输出到控制台,这是不希望的。
我怎么能:(1)从它的内容输出到控制台停止执行console.log,或者(2)在一个字符串得到错误消息的一些其他的方式?
注:我在节点在这一点上,而不是在浏览器中,所以它似乎并不认为在Capturing javascript console.log?答案是有帮助的。
回答如下:有没有必要拦截console
在所有 - 你会发现err.message
整个错误消息,尽管有“SQLITE_ERROR:
”仍然前缀
这是Error
对象,因此它为什么没有出现在JSON输出的不可枚举的属性:
let sqlite3 = require('sqlite3');
let db = new sqlite3.Database(':memory:');
db.run("UPDATE foo SET bar = 1", (err, res) => {
console.log(Object.getOwnPropertyDescriptors(err));
console.log(err.message);
});
与输出:
{ stack:
{ value: 'Error: SQLITE_ERROR: no such table: foo',
writable: true,
enumerable: false,
configurable: true },
message:
{ value: 'SQLITE_ERROR: no such table: foo',
writable: true,
enumerable: false, <<---------
configurable: true },
errno:
{ value: 1, writable: true, enumerable: true, configurable: true },
code:
{ value: 'SQLITE_ERROR',
writable: true,
enumerable: true,
configurable: true } }
SQLITE_ERROR: no such table: foo
如何获得财产出这是只出现在执行console.log()JavaScript对象,但不是在JSON.stringify()?
我发现了一个错误的对象从我SQLite数据库回来。当我与console.log(err)
显示它,我得到:
{记录:{错误:SQLITE_ERROR:没有这样的表:showcaseUsers errno设置:1,代码: 'SQLITE_ERROR'}}
然而,当我与JSON.stringify(err)
显示它,我只得到:
{ “记录”:{ “错误号”:1, “代码”: “SQLITE_ERROR”}}
我想在一个字符串错误消息no such table: showcaseUsers
。
我已经找到了如何做到这一点的唯一方法是这样的:
const errorText = console.log(data);
但是,这也将数据输出到控制台,这是不希望的。
我怎么能:(1)从它的内容输出到控制台停止执行console.log,或者(2)在一个字符串得到错误消息的一些其他的方式?
注:我在节点在这一点上,而不是在浏览器中,所以它似乎并不认为在Capturing javascript console.log?答案是有帮助的。
回答如下:有没有必要拦截console
在所有 - 你会发现err.message
整个错误消息,尽管有“SQLITE_ERROR:
”仍然前缀
这是Error
对象,因此它为什么没有出现在JSON输出的不可枚举的属性:
let sqlite3 = require('sqlite3');
let db = new sqlite3.Database(':memory:');
db.run("UPDATE foo SET bar = 1", (err, res) => {
console.log(Object.getOwnPropertyDescriptors(err));
console.log(err.message);
});
与输出:
{ stack:
{ value: 'Error: SQLITE_ERROR: no such table: foo',
writable: true,
enumerable: false,
configurable: true },
message:
{ value: 'SQLITE_ERROR: no such table: foo',
writable: true,
enumerable: false, <<---------
configurable: true },
errno:
{ value: 1, writable: true, enumerable: true, configurable: true },
code:
{ value: 'SQLITE_ERROR',
writable: true,
enumerable: true,
configurable: true } }
SQLITE_ERROR: no such table: foo