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
,卸载模块并重新启动其本地代码可以完成,但是您需要卸载所有依赖模块和所有模块以及引用它。 这就是为什么正常的做法是让它崩溃