我正在开发一种使用nodeJs (net,express,socketIo)的多功能服务器。多用途意味着接收数据,稍后我将在自定义插件中处理这些数据,该插件也是用nodejs编写的。在服务器启动时,加载了一个配置,它告诉应用程序应该使用require加载哪些额外的js文件。所有包含create函数的插件都返回一个对象。这个对象被推入一个数组中以供引用。
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语句的情况下实现错误处理?
我希望有人能理解我的问题,并能指引我正确的方向。
发布于 2012-07-31 18:35:57
您可以使用process uncaughtException event:http://nodejs.org/api/process.html#process_event_uncaughtexception,但建议使用try/catch语句,并在出现意外情况时抛出错误,这些try/catch语句应该放在使用模块内容的位置。
https://stackoverflow.com/questions/11737670
复制相似问题