我正在使用Open3.popen2e
函数运行外部命令。外部命令在执行中途失败。不幸的是,这也杀死了我使用popen2e
的红宝石过程。是什么原因,我该如何避免?
begin
Open3.popen2e("node mynode.js") do |i, oe|
oe.each do |ln|
puts ln.chomp
end
end
rescue => exception
puts exception.message
end
在Ubuntu上使用ruby 2.5.1
答案 0 :(得分:2)
不确定原因,但可能会引发非StandardError
。因此,将救援内容更改为:
rescue Exception => exception
这可能会为您提供有关正在发生的事情的更多线索。