在 node.js 中输出完整的错误对象
Output full error object in node.js
有几个地方使用了错误对象,比如当您捕获错误时,或者在 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"]));
编辑:
已更新以反映@laggingreflex 在评论中提出的观点...
有几个地方使用了错误对象,比如当您捕获错误时,或者在 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"]));
编辑: 已更新以反映@laggingreflex 在评论中提出的观点...