防止控制台closuresexception

我尝试了Visual Studio代码(在Windows上),并喜欢它到目前为止。

有没有办法阻止控制台/terminal在debugging节点应用时自动closures未处理的exception?

我知道节点退出是正确的行为,我只是有机会在closures控制台窗口之前阅读输出。

如果将事件处理程序附加到正在监视uncaughtException的进程对象,则会在未处理的exception情况下立即调用该代码:

process.on('uncaughtException', UncaughtExceptionHandler); function UncaughtExceptionHandler(err) { console.log("Uncaught Exception Encountered!!"); console.log("err: ", err); console.log("Stack trace: ", err.stack); setInterval(function(){}, 1000); } 

这将输出错误,堆栈跟踪,然后永远等待你手动杀死你正在debugging的程序。 这将有助于debugging,但显然不是最终产品中想要的。

当我添加代码“console.log(undefined.undefined);” 在上面的process.on语句之后,我得到了结果输出:

 Uncaught Exception Encountered! err: [TypeError: Cannot read property 'undefined' of undefined] Stack trace: TypeError: Cannot read property 'undefined' of undefined at Object.<anonymous> (/home/username/Desktop/test.js:3:22) at Module._compile (module.js:449:26) at Object.Module._extensions..js (module.js:467:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.runMain (module.js:492:10) at process.startup.processNextTick.process._tickCallback (node.js:244:9) 

然后它永远“暂停”,直到我杀死程序。