0

我正在使用nodeJs(net,express,socketIo)开发一种多用途服务器。多用途意味着它接收数据,稍后我将在自定义插件中处理这些数据,该插件也是用 nodejs 编写的。在服务器启动时,会加载一个配置,告诉应用程序应该使用 require 加载哪些额外的 js 文件。所有插件都包含一个返回对象的创建函数。该对象被推入一个数组以供参考。

  self.config.plugins.forEach(function(plugin){             
        var plugin = require(Path.join(pluginDir,plugin.name, index.js" )).create(self);                    
        self.apps.push(plugin);             
  });

插件必须从一个特殊的基类继承并遵循一个特殊的模式(我想使用类似 c# 风格的接口,但还没有找到解决方案)。

现在我的问题:

如果我的任何插件出现错误,整个应用程序都会崩溃。如何在不将每个插件方法放入 try/catch 语句的情况下实现错误处理?

我希望有人能理解我的问题,并能指导我正确的方向

4

1 回答 1

0

您可以使用进程 uncaughtException 事件:http ://nodejs.org/api/process.html#process_event_uncaughtexception ,但建议使用 try/catch 语句并在出现不希望的情况时抛出错误,这些 try/catch 语句应该放在你使用模块内容的地方。

于 2012-07-31T10:35:56.710 回答