当我们的一个节点脚本中发生错误时,我们试图将错误发送到sqlite3数据库。我们正在main.js生成的进程之间进行IPC通道通信,并根据需要进行路由。
const logme = (message, type, showMessage = true) => {
if (showMessage) {
switch (type.toLowerCase()) {
case 'error':
case 'warn':
console.error(message);
break;
default:
console.log(message);
break;
}
}
if (process.send) {
process.send({ to: 'logs', msg: { c: 'logme', a: 'thisScript', m: message, mt: type } });
}
};
process.on('uncaughtException', err => {
logme(`thisScript Uncaught Exception Error: ${JSON.stringify(err, null, 2)}`, 'error');
if (process.send) {
process.send({ to: 'main', msg: { c: 'kill', a: 'thisScript' } });
}
});
在一个未捕获的异常上,我们收到了这样的消息,但是,对象中没有堆栈跟踪。我想应该是,将来如何将它添加到对象中,以便我们知道代码中的错误发生在哪里?
thisScript Uncaught Exception Error: {
"message": "Cannot read property 'StorageFiles' of undefined",
"code": "TypeError",
"time": "2019-06-13T16:26:44.753Z"
}