如何在Meteor + NodeJs应用程序中捕获未处理的异常

时间:2017-06-02 10:35:17

标签: node.js meteor

我们正在使用Meteor + NodeJS应用程序。 Meteor应用程序用于客户端和Nodejs应用程序的通信以连接到DB。我们在流星应用程序中给出了nodeJS应用程序参考。

当nodejs应用程序中发生任何未处理的错误时,我们无法捕获它。

我们将meteor和nodejs应用程序部署为一个包。

从Meteor我们使用Meteor.wrapAsync(node.method1)调用了nodejs方法。 我们能够捕获流星中的异常直到从节点方法回调。在回调之后,如果在nodejs方法中发生任何异常,我们就无法处理它。

感谢您的重播

1 个答案:

答案 0 :(得分:1)

由于此处未提供任何代码,我将假设您有以下情况:

  • 您有一个Meteor应用程序,它调用托管在不同节点服务器上的服务。
  • 节点服务与Meteor应用程序共享同一个数据库。
  • 客户端仅与Meteor应用程序进行交互。

Meteor正在使用自己的嵌入式节点服务器,因此对其他节点应用程序的服务调用实际上是两个不同节点服务器之间的通信,这意味着它们有自己的调用堆栈,因此它们无法相互处理#39;例外。

在两者之间传递错误的唯一方法是,如果您处理节点应用程序中的异常并将错误代码发送到Meteor应用程序。如果您使用ajax,或者您自己的错误代码,它们可以是HTTP代码。