2017-06-02 86 views
1

我们使用的是Meteor + NodeJS应用程序。 Meteor应用程序用于客户端和Nodejs应用程序的通信以连接到数据库。我们在meteor应用程序中给出了nodeJS应用程序引用。如何在Meteor + NodeJs应用程序中捕获未处理的异常

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

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

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

感谢您的重播

回答

1

由于没有这里提出的任何代码,我会假设你有以下情形:

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

流星是使用其自己的嵌入式节点服务器,所以服务调用到其他节点的应用程序实际上是两个不同节点的服务器之间的通信,这意味着它们有自己的调用堆栈,因此它们不能处理每个其他的例外。

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

+0

1.节点应用程序托管在同一台服务器上,并在流星应用程序中提供节点应用程序引用。 2.是的,节点服务与Meteor应用程序共享相同的数据库。 3.是的,客户只能与Meteor应用程序进行交互。 – Abhijit

相关问题