2009-07-14 71 views
7

我是EventMachine的新手,所以我不確定這是什麼意思。我得到這個例外:是什麼導致EventMachine :: ConnectionNotBound?

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

該程序相當複雜,所以我不能真正解釋可能導致它的一切。我需要的只是一個指向尋找什麼的指針。該錯誤似乎沒有記錄(查看http://eventmachine.rubyforge.org/)。

回答

8

我在EventMachine :: Connection的子類的初始化方法中引發了一些其他未處理的異常時引發了此異常。檢查你的子類initialize方法的arity是否正確,並且initialize方法沒有錯誤地運行。

6

通常,這些錯誤發生在initialize或post_init中。你應該做的第一件事是在你的回調中添加救援來找出實際導致錯誤的原因。

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

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

這是一個很好的建議,並且非常感謝你的插圖,但是它沒有捕捉到Troy的場景,`#initialize`的錯誤。原來是我的問題。 (實際上,我是在打電話,而不是聯繫。)雖然,對於有同樣問題的其他人來說,這可能是一個很好的答案。 :) – Peeja 2010-07-03 03:14:09

1

我修復了一年前在EventMachine中針對這種情況的異常冒泡現象。它在預發佈1.0寶石(gem install eventmachine --pre)或更好的情況下,從存儲庫中使用EventMachine。