如何检查IO.popen是否成功?

问题描述:

如何检查使用IO.popen创建IO对象是否成功?例如,下面的失败,而是一个IO对象仍将创建:如何检查IO.popen是否成功?

io = IO.popen("foobar", "w+") 
io.inspect 

有什么办法找出如果popen方法()实际上成功了吗?

+0

IO.popen如何失败并同时返回一些内容?你确定io.inspect不返回“零”吗?顺便说一句,上面的代码完全符合我的意见:第一行引发异常,第二行返回“nil”。我在红宝石1.9.2p0(2010-08-18)[i386-mingw32]。 – DNNX 2011-03-10 13:03:46

我刚刚在相关主题列表Rescuing "command not found" for IO::popen中注意到,它提供了解决我的问题的方法。