JSON.stringify错误时NodeJ缺少stacktrace

时间:2019-06-13 17:17:03

标签: node.js error-handling

当我们的一个节点脚本中发生错误时,我们试图将错误发送到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"

} 

0 个答案:

没有答案