2009-07-14 25 views
7

私はEventMachineを初めて使用しているので、これが何を意味するのか分かりません。私はこの例外を得ています:EventMachine :: ConnectionNotBoundの原因は何ですか?

EventMachine::ConnectionNotBound recieved ConnectionUnbound for an unknown signature: ef93a97d4d6441cb80d30fe2313d7de73 

プログラムはかなり複雑ですので、私は本当にそれにつながっているかもしれないすべてを説明することはできません。私が必要とするのは、何を探すべきかの指針です。エラーは文書化されていないようです(http://eventmachine.rubyforge.org/を見てください)。

答えて

8

EventMachine :: Connectionのサブクラスの初期化メソッドで未処理の例外がいくつか発生した場合、この例外が発生しました。サブクラスのinitializeメソッドが正しく、initializeメソッドがエラーなしで実行されていることを確認します。

6

通常、これらのエラーは、initializeまたはpost_initで発生します。まず、コールバック内にレスキューを追加して、実際にそのエラーの原因を突き止めることです。

def initialize(*args) 
    ... 
    super 
rescue Exception 
    ... 
end 

def post_init 
    ... 
    super 
rescue Exception 
    ... 
end 
+0

これは大きなアドバイスです。イラストレーションに感謝しますが、 '#initialize'のアリティが間違っているTroyのシナリオを捕まえていません。それが私の問題でした。 (実際には、私は接続していないということをしていました)おそらく同じ質問をしている誰かのために良い答えでしょう。 :) – Peeja

1

EventMachineでこのケースの例外バブリングが1年以上前に修正されました。プレリリース版の1.0 gem(gem install eventmachine --pre)以上であれば、リポジトリからEventMachineを使用してください。

関連する問題