gpt4 book ai didi

node.js - 无法确定对象Node.js中的属性键

转载 作者:行者123 更新时间:2023-12-03 08:44:41 24 4
gpt4 key购买 nike

我正在尝试处理一些错误并修改错误消息,但是当我console.log(error)时,它给出了这样的对象:

{ [Error: ENOENT: no such file or directory, open 'G:\Fwork\fwork-nodejs-back\src\controllers\base\ava.txt']
errno: -4058,
code: 'ENOENT',
syscall: 'open',
path:
'......//ava.txt' }

我尝试了 Object.keys(obj),它给了一个数组
在对象 [ 'errno', 'code', 'syscall', 'path' ]中不包含数组

有谁可以帮忙吗?

最佳答案

第一项是Error对象上.toString()的结果,并且只是console.log()决定针对该特定类型的对象显示的内容,而不是该对象的实际属性。您会注意到这是其他属性值的集合。
Object.keys()的结果是Error对象上实际的可枚举的自己的属性名称。

您可以使用以下测试代码自己看到它:

const fs = require('fs');

fs.readFile("whateverFileThatDoesNotExist", (err, result) => {
console.log(err);
console.log(err.toString());
});

上面的代码的 err.toString()值是这样的:
Error: ENOENT: no such file or directory, open 'D:\code\test\temp\whateverFileThatDoesNotExist'

如果要自己检索该值,则可以自己调用 obj.toString()

关于node.js - 无法确定对象Node.js中的属性键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57194419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com