处理或防止错误使我在 Heroku 上的整个 node.js 应用程序崩溃
Posted
技术标签:
【中文标题】处理或防止错误使我在 Heroku 上的整个 node.js 应用程序崩溃【英文标题】:Handling or prevent errors from crashing my whole node.js app on Heroku 【发布时间】:2012-04-30 13:22:30 【问题描述】:我在 Heroku 上托管了一个 node.js 应用
每当我的应用遇到错误时,整个服务器都会崩溃,使其对任何人都无法使用。
有什么方法可以返回一个错误页面,并让服务器保持活动状态?
我读过这个,Node.JS with forever on Heroku,但它没有回答我的问题....
【问题讨论】:
我 一半 想通了 - 但是,我在发送错误页面时遇到问题 - ***.com/questions/10221309/… 我发现了另一个类似的帖子,答案很好。请查看[这里][1][1]:***.com/questions/5999373/… 【参考方案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 没有提供其他更好的替代品。你可以在这里进一步阅读***.com/questions/5999373/…以上是关于处理或防止错误使我在 Heroku 上的整个 node.js 应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章
ios - Heroku 和 MongoDb 上的自定义解析服务器错误 3080:JSON 文本没有以数组或对象开头,并且允许未设置片段的选项
Gin Gonic 和 Qor Admin 的问题:heroku 上的错误 500