Node.js 为什么调用newerror()后堆栈未定义
我有一个使用Node.js和Express编写的服务,我遇到了一个问题,错误没有在它们的Node.js 为什么调用newerror()后堆栈未定义,node.js,error-handling,visual-studio-code,Node.js,Error Handling,Visual Studio Code,我有一个使用Node.js和Express编写的服务,我遇到了一个问题,错误没有在它们的.stack属性上携带堆栈跟踪,正如人们在VSCode中通过监视窗口查看错误对象时所期望的那样。相反,我的错误对象的堆栈属性是未定义的。另外调用console.error(err)会在调试控制台窗口中输出错误信息,但没有任何堆栈详细信息 我一直在浏览文档,所有迹象都表明调用新错误(“我的消息”)应该创建一个错误对象,该对象的堆栈表示调用堆栈,直到错误对象被实例化为止 我正在Windows 10上使用节点v4.
.stack
属性上携带堆栈跟踪,正如人们在VSCode中通过监视窗口查看错误对象时所期望的那样。相反,我的错误对象的堆栈属性是未定义的
。另外调用console.error(err)
会在调试控制台窗口中输出错误信息,但没有任何堆栈详细信息
我一直在浏览文档,所有迹象都表明调用新错误(“我的消息”)
应该创建一个错误对象,该对象的堆栈表示调用堆栈,直到错误对象被实例化为止
我正在Windows 10上使用节点v4.2.2。在调用
.toString()
时,错误
对象不会报告堆栈,这是在调用console.log(err)
时调用的
这是因为
当访问error.stack属性时,将延迟生成表示堆栈跟踪的字符串
要查看完整堆栈(包括错误消息),请直接使用err.stack
:
console.log(err.stack)
每当我需要错误消息和堆栈时,我都会在节点代码中执行此操作。在调用
.toString()
时,错误对象不会报告堆栈,这是在调用console.log(err)
时调用的
这是因为
当访问error.stack属性时,将延迟生成表示堆栈跟踪的字符串
要查看完整堆栈(包括错误消息),请直接使用err.stack
:
console.log(err.stack)
每当需要错误消息和堆栈时,我都会在节点代码中执行此操作