有几个地方会用到错误对象,比如当您捕获错误时,或者在 exec 的情况下,错误对象可以由子进程传回。当您尝试记录该信息时,并非所有信息都能记录下来。
我试过以下方法:
console.log(error);
console.log(error.stack);
console.log(util.inpect(error, true, null));
所有这些选项似乎都输出了一组不同的不完整数据。有没有一种方法可以确保我始终从显示的错误中获得我需要查看的所有数据,或者我是否需要使用所有这三行(是否需要添加更多语句?)?
最佳答案
您可以使用 JSON 将许多 JavaScript 对象转换为字符串:
console.log(JSON.stringify(error, ["message", "arguments", "type", "name"]));
编辑: 已更新以反射(reflect)@laggingreflex 在评论中提出的观点...
关于javascript - 在 node.js 中输出完整的错误对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30603713/