Sails – 捕获使服务器崩溃的全局适配器错误

我试图find处理连接错误的最佳位置,或任何其他全局错误,使服务器崩溃。

捕捉适配器/全局错误,并没有让服务器崩溃的正确的地方是什么?

具体而言,我想以一种优雅的方式处理这些types的错误:

Error spawning mySQL connection: error: Hook failed to load: orm (Error: connect ECONNREFUSED) error: Error encountered while loading Sails core! error: Error: connect ECONNREFUSED 

从sails docs: http ://sailsjs.org/#!documentation/ config.500

多数民众赞成在error handling的风险从configuration中公开

如果你的错误通过了,你可以挂在那里,否则你可以挂钩节点的进程

 process.on('uncaughtException', function (err) { if (err.toString() === 'Error spawning mySQL connection') { //rende some error page } }) 

如果抛出的exception是asynchronous捕捉它的唯一方法是槽过程

但请注意,这些types的错误几乎总是不可恢复的,所以崩溃(和重新启动)是最好的方法

大多数模块加载使用局部variables,只公开其内部槽的一个子模块。 module.exports ,卸载模块并重新启动其本地代码可以完成,但是您需要卸载所有依赖模块和所有模块以及引用它。 这就是为什么正常的做法是让它崩溃