EventMachine::Deferrable
コールバックで例外が発生しないようにする方法を見つけようとしています。すべてのコールバック ブロックを使用する代わりにbegin ... rescue
、メソッド呼び出しで何らかの形でブロックをラップして、メソッドが例外をレスキューするようにしています。
require 'eventmachine'
def to_proc
proc
rescue Exception => e
puts "e=#{e}"
end
EventMachine::run {
d = EventMachine::DefaultDeferrable.new
f = to_proc {raise 'error'}
d.callback &f
EventMachine.next_tick {d.succeed}
}
これはもちろん機能しません。助けていただければ幸いです。