Node.js:是否可以捕获"TypeError"并保持服务器正常运行?

don*_*ald 4 heroku node.js

有时我的代码中有一个使我的服务器崩溃的typerror.我想知道是否有我可以添加的内容,以便在发生这种情况后不会崩溃.以下是崩溃的更多细节:

2011-06-08T11:23:09+00:00 app[worker.1]: /app/lib/imap.js:1019
2011-06-08T11:23:09+00:00 app[worker.1]:         type: cur[0].toLowerCase(), subtype: cur[1].toLowerCase(),
2011-06-08T11:23:09+00:00 app[worker.1]:                                                     ^
2011-06-08T11:23:09+00:00 app[worker.1]: TypeError: Object FILENAME,Oportunidad especial de has no method 'toLowerCase'
2011-06-08T11:23:09+00:00 app[worker.1]:     at parseBodyStructure (/app/lib/imap.js:1019:53)
2011-06-08T11:23:09+00:00 app[worker.1]:     at parseBodyStructure (/app/lib/imap.js:1090:23)
2011-06-08T11:23:09+00:00 app[worker.1]:     at parseBodyStructure (/app/lib/imap.js:1000:18)
2011-06-08T11:23:09+00:00 app[worker.1]:     at parseBodyStructure (/app/lib/imap.js:994:13)
2011-06-08T11:23:09+00:00 app[worker.1]:     at parseFetch (/app/lib/imap.js:974:29)
2011-06-08T11:23:09+00:00 app[worker.1]:     at CleartextStream.<anonymous> (/app/lib/imap.js:180:11)
2011-06-08T11:23:09+00:00 app[worker.1]:     at CleartextStream.emit (events.js:64:17)
2011-06-08T11:23:09+00:00 app[worker.1]:     at CleartextStream._push (tls.js:285:31)
2011-06-08T11:23:09+00:00 app[worker.1]:     at SecurePair._cycle (tls.js:565:20)
2011-06-08T11:23:09+00:00 app[worker.1]:     at EncryptedStream.write (tls.js:97:13)
2011-06-08T11:23:09+00:00 heroku[worker.1]: Process exited
2011-06-08T11:23:09+00:00 heroku[worker.1]: State changed from up to crashed
Run Code Online (Sandbox Code Playgroud)

谢谢

Ray*_*nos 11

处理uncaughtException流程中的事件.

process.on('uncaughtException', function (err) {
  console.log('Oh shit recover somehow");
});
Run Code Online (Sandbox Code Playgroud)

警告:这将捕获所有异常.如果你不打算正确处理它们,你可以非常糟糕地腐败状态.