node.js - uncaughtException无法捕获引发的错误

标签 node.js exception express error-handling

我正在使用Node.js中的api进行学习,并了解了在崩溃应用程序之前可以让我的错误出现最后一个选项的选项...(uncaughtException)

注意:关于某些人不喜欢此功能的所有原因,我目前读得很好,所以请不要在此处发布这些问题。

我遇到的问题是这样的:

我为不同的代码段创建自定义错误类。例如Redis_Exception,它会响应我的缓存层中的错误而抛出。

但是,以下内容并未涉及我的uncaughtException函数:

throw new Redis_Exception('Some error here');

相反,我的应用程序只是将Redis_Exception: Some error here打印到控制台。照常没有堆栈跟踪。

是否有某些原因导致以这种方式抛出的错误不会冒泡到我的应用程序流程的顶部?

最佳答案

一种更简单的解决方法是,在快速服务器中添加带有4个参数的中间件,第一个参数是错误。这将覆盖finalhandler处理程序。

app.use((err, req, res, next) => {
  // Similar to uncaughtException handler
  // Log error, maybe send it to central server
  // Send Custom Log message maybe?
  return res.send('Nice server error to user');
}

您还应该保留process.on('uncaughtException', fn);来处理http请求响应管道之外的任何未捕获的异常。

关于node.js - uncaughtException无法捕获引发的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31442972/

相关文章:

node.js - 更新后 NPM 死机 - 找不到模块 (OSX)

java - 如何使用 Java 中基于信号处理的机制将 JNI 崩溃捕获为异常

java.util.UnknownFormatConversionException : Conversion = '.'

javascript - 为什么 Node.js 找不到我的文件

angularjs - 你真的需要 AngularJS 应用程序的服务器吗?

node.js - 将数据传递给 View 时,node ejs 引用错误数据未在 eval 处定义

exception-handling - 如何在 node.js 中捕获 http 客户端请求异常

javascript - 为 Node 应用程序设置正确的结构

ajax - 使用 ajax 和 nodejs 服务器不会更改 session cookie

c# - 城堡 ActiveRecord "Could not compile the mapping document: (string)"