【问题标题】:Handling or prevent errors from crashing my whole node.js app on Heroku处理或防止错误使我在 Heroku 上的整个 node.js 应用程序崩溃
【发布时间】:2012-04-30 13:22:30
【问题描述】:

我在 Heroku 上托管了一个 node.js 应用

每当我的应用遇到错误时,整个服务器都会崩溃,使其对任何人都无法使用。

有什么方法可以返回一个错误页面,并让服务器保持活动状态?

我读过这个,Node.JS with forever on Heroku,但它没有回答我的问题....

【问题讨论】:

标签: node.js error-handling heroku


【解决方案1】:

http://nodejs.org/docs/latest/api/process.html#process_event_uncaughtexception

您可以侦听 uncaughtException 事件,然后进行错误处理。理想情况下,您的回调应该返回一个 err 参数,然后进行错误处理。

【讨论】:

    【解决方案2】:

    您可能可以使用 DOMAIN,这可能会阻止您的服务器在抛出 uncaughtException 时崩溃。

    domain = require('domain'),
    d = domain.create();
    
    d.on('error', function(err) {
      console.error(err);
    });
    

    更多详情请转至http://shapeshed.com/uncaught-exceptions-in-node/

    除了使用这个方法必须try-catch你的block。

    【讨论】:

    • 我知道这是一篇旧帖子,但只是为了更新:DOMAIN 已被弃用,不应再使用。
    • @Azevedo 感谢您的更新,但遗憾的是 Node Docs 没有提供其他更好的替代品。你可以在这里进一步阅读stackoverflow.com/questions/5999373/…
    猜你喜欢
    • 1970-01-01
    • 2019-05-15
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    相关资源
    最近更新 更多