javascript中对象以数组开头是什么意思

有时我会收到这样的错误,它来自catch(err => console.log(err))

{ [Error: SQLITE_ERROR: no such table: table_name] errno: 1, code: 'SQLITE_ERROR' }

它看起来像一个对象,是的,但为什么它的开头有一个数组?

我怎样才能得到那个数组?

我想得到那个错误信息:

Error: SQLITE_ERROR: no such table: table_name

决定下一步做什么。

我认为错误消息是键名的一部分,所以我尝试了:

Object.keys(err);

但是返回一个这样的数组:

["errno", "code"]

如何获取该错误消息?


白衣染霜花
浏览 159回答 2
2回答

30秒到达战场

IIRC .... sqlite使用内置Error对象。您在括号中看到的不是数组;它实际上是一个人类可读的错误描述字符串,它在括号中(可能是为了强调)。try {   ....} catch (err) {   console.log(err.message); // this should be your error message.}

HUX布斯

无论抛出错误,都不是抛出一个简单的字符串。尝试不同的日志记录方法以更好地了解返回的内容,因为console.log在记录时可能不会为您提供正确的错误值。尝试使用console.log(JSON.parse(JSON.stringify(error)))并查看返回的内容。您可能需要执行类似console.log(error.response.message)或类似的操作才能获得可以使用的更有用的字符串。console.log也可能toString在返回的对象上运行自定义方法,例如:https : //repl.it/@Twinbird24/WingedCloudyTrials
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript