3
我遇到問題,使EventMachine::DeferrableChildProcess.open
實際上做任何形式的錯誤處理。希望我做錯了。這裏有一個例子:EventMachine DeferrableChildProcess錯誤處理
require "eventmachine"
EM.run do
cp = EM::DeferrableChildProcess.open("ls /trololo")
cp.callback { |data| puts "Received some data: '#{data}'" }
cp.errback { |err| puts "Failed: #{err.inspect}" }
end
我希望這段代碼的結果(假設你實際上並沒有在系統上/trolol
目錄)是:「失敗:< SomeErrorObject>」。相反,我得到「收到一些數據:''」。如果加上傷害,由ls
(「ls:不能訪問/ trololo:沒有這樣的文件或目錄」)引起的錯誤信息以某種方式打印到stderr。
我做錯了什麼,或者是基本沒有錯誤處理EM::DeferrableChildProcess.open
?我收到了與EM.popen
類似的結果。