最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何获得财产出这是只出现在执行console.log()JavaScript对象,但不是在JSON.stringify()?

IT培训 admin 4浏览 0评论

如何获得财产出这是只出现在执行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
发布评论

评论列表 (0)

  1. 暂无评论