我正在尝试找到处理连接错误的最佳位置,或任何其他导致服务器崩溃的全局错误. 什么是捕获适配器/全局错误的正确位置,而不是让它们崩溃服务器? 具体来说,我想以优雅的方式处理这
什么是捕获适配器/全局错误的正确位置,而不是让它们崩溃服务器?
具体来说,我想以优雅的方式处理这些类型的错误:
Error spawning mySQL connection: error: Hook failed to load: orm (Error: connect ECONNREFUSED) error: Error encountered while loading Sails core! error: Error: connect ECONNREFUSED来自帆文件: http://sailsjs.org/#!documentation/config.500
这就是错误处理风帆从配置中暴露出来的
如果您的错误通过了,您可以挂钩,否则您可以挂钩节点的进程
process.on('uncaughtException', function (err) { if (err.toString() === 'Error spawning mySQL connection') { //rende some error page } })
如果抛出的异常是异步的,那么捕获它的唯一方法就是进程
但请注意,这些类型的错误几乎总是无法恢复,因此崩溃(和重新启动)是最好的方法
加载的大多数模块使用局部变量并通过module.exports只显示其内部的一个子集,卸载模块并重新启动其本地代码可以完成,但是您需要卸载所有相关模块以及所有依赖模块的模块.这就是为什么正常的方法是让它崩溃