在Heroku上处理或预防错误导致整个Node.js应用程序崩溃

8
我有一个托管在Heroku上的node.js应用程序。每当我的应用程序遇到错误时,整个服务器都会崩溃,使其对任何人都不可用。有没有办法返回一个错误页面,并保持服务器的运行?
我阅读了这篇文章:Node.JS with forever on Heroku但它没有回答我的问题...

有点弄明白了这个问题 - 但是,我在发送错误页面方面遇到了麻烦 - https://dev59.com/L2LVa4cB1Zd3GeqP0d5Y - Alex
我在这里找到了另一个类似的帖子,有一个很好的答案。请点击这里查看。 - Sadaka
2个回答

8

4
您可以使用DOMAIN,这将有助于防止服务器在未捕获异常时崩溃。
domain = require('domain'),
d = domain.create();

d.on('error', function(err) {
  console.error(err);
});

了解更多详情请访问http://shapeshed.com/uncaught-exceptions-in-node/

除了使用这种方法,你必须在你的代码块中加入try-catch。


1
我知道这是一篇旧帖子,但是为了更新一下:DOMAIN已经被弃用,不应再使用。 - Azevedo
@Azevedo 感谢您的更新,但不幸的是,Node Docs 没有提供其他更好的替代方案。您可以在这里进一步阅读 https://dev59.com/Jm025IYBdhLWcg3wclq- - Airy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接