我有托管在Heroku处理或防止错误崩溃在Heroku
每当我的应用程序遇到错误,整个服务器崩溃,使其不能对任何人的Node.js应用。
是否有任何方法可以返回错误页面,并保持服务器活着?
我读到这,Node.JS with forever on Heroku但它并没有回答我的问题....
我有托管在Heroku处理或防止错误崩溃在Heroku
每当我的应用程序遇到错误,整个服务器崩溃,使其不能对任何人的Node.js应用。
是否有任何方法可以返回错误页面,并保持服务器活着?
我读到这,Node.JS with forever on Heroku但它并没有回答我的问题....
http://nodejs.org/docs/latest/api/process.html#process_event_uncaughtexception
您可以监听uncaughtException事件,然后做你的错误处理。理想情况下,你的回调应该返回一个err参数,然后进行错误处理。
您可以使用DOMAIN,这可能会在发生uncaughtException时阻止服务器崩溃。
domain = require('domain'),
d = domain.create();
d.on('error', function(err) {
console.error(err);
});
的更多信息,请到http://shapeshed.com/uncaught-exceptions-in-node/
使用这种方法必须尝试,抓住你的块旁边。
我知道这是一个旧帖子,但只是更新:** DOMAIN **已被弃用,不应再使用。 – Azevedo 2016-09-04 16:17:35
@Azevedo感谢您的更新,但不幸的是,没有其他更好的替换由Node Docs提供。你可以在这里进一步阅读http://stackoverflow.com/questions/5999373/how-do-i-prevent-node-js-from-crashing-try-catch-doesnt-work – 2016-09-05 15:16:35
我*一半*想出了这一点 - 但是,我有麻烦发送错误页面 - http://stackoverflow.com/questions/10221309/use-process-onuncaughtexception-to-show-a-500-error - 页 – Alex 2012-04-19 03:36:58
我发现了另一个类似的帖子,很好的答案。请检查[这里] [1] [1]:http://stackoverflow.com/questions/5999373/how-do-i-prevent-node-js-from-crashing-try- catch-doesnt-work – Sadaka 2014-07-25 05:51:54