Node js事件循环异常处理

时间:2019-01-05 15:16:20

标签: node.js express exception-handling event-loop

这是有关如何在节点js中处理异常的查询。

假设有一个节点+快速Web服务器。我们知道,它可以在单个线程中处理多个请求-在一个请求正在等待IO的情况下处理一个请求。

比方说,在处理请求时会发生未处理的异常。

  1. 在上述情况下,是否不会因为崩溃而将待处理的请求丢弃?
  2. 如果是,是否存在定义完善的机制来克服这一问题?

1 个答案:

答案 0 :(得分:1)

  1. 您可以在process上收听此类错误,并避免崩溃:

    process.on('unhandledRejection',(reason,promise)=> {   console.log(原因+“-” +承诺); });

    process.on('uncaughtException',(err)=> {   console.error(“未捕获的异常:” + err +“ \ n” + err.stack); });

    process.on('error',(err)=> {   console.log('陷入应用程序错误侦听器:'+ err); });

请注意,覆盖此类侦听器不是最佳实践,因为您可能在代码中遇到不可预测的行为。 您应该始终在本地方法中处理错误(处理错误回调,检查正确的类型,使用try...catch,使用.catch等)