0

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ステートメントに入れずにエラー処理を実現するにはどうすればよいですか?

誰かが私の問題を理解し、正しい方向に私を導くことができることを願っています

4

1 に答える 1

0

プロセスuncaughtExceptionイベントを使用できます:http://nodejs.org/api/process.html#process_event_uncaughtexception、ただし、try / catchステートメントを使用し、何かが望ましくない方法で発生した場合にエラーをスローすることをお勧めします。これらのtry/catchステートメントモジュールのコンテンツを使用している場所に配置する必要があります。

于 2012-07-31T10:35:56.710 に答える