node.js - Sails - 捕获导致服务器崩溃的全局适配器错误

标签 node.js express sails.js

我正在尝试找到处理连接错误或导致服务器崩溃的任何其他全局错误的最佳位置。

捕获适配器/全局错误并且不让它们导致服务器崩溃的正确位置是什么?

具体来说,我想以优雅的方式处理这些类型的错误:

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 文档:http://sailsjs.org/#!documentation/config.500

这就是 sails 从配置中暴露的错误处理

如果你的错误通过了,你可以 Hook 那里,否则你可以 Hook Node 的进程

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

如果抛出的异常是异步的,那么捕获它的唯一方法是通过进程

但是请注意,这些类型的错误几乎总是不可恢复的,因此崩溃(并重新启动)是最好的方法

大多数加载的模块都使用局部变量,并且仅通过 module.exports 公开其内部结构的子集,可以卸载模块并重新启动其本地代码,但您需要卸载所有相关模块以及所有引用它的模块。这就是为什么正常的做法是让它崩溃

关于node.js - Sails - 捕获导致服务器崩溃的全局适配器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20691691/

相关文章:

node.js - 返回数组值的匹配记录并按 Mongoose 中的其他属性分组?

javascript - Electron - Node.js - fs.readFileSync 在构建 Electron 并在 Program Files 中时需要管理员权限

javascript - 在 Node.js 中查询 JSON 对象

javascript - 如何获取变量的字符串表示形式,如 console.log 所示

javascript - NodeJS 存储模块功能结果

javascript - 如何使用需要套接字连接的中间件?

javascript - 我需要使用 Javascript 将信息更新到 JSON 文件

node.js - 如何在sails中查找mongodb中的指定字段?

javascript - 如何使用不同表中的列数据从其他表中获取数据?

javascript - 获取 [object, Object] 而不是整个用户数据。这意味着什么?