2011-05-18 35 views
1

我有一堆需要ftools的Ruby 1.8.x脚本。如何在Ruby 1.9和1.8中捕获LoadError异常?

当我在Ruby 1.9中运行它们时,如何让这些脚本停止抛出异常?

我想尽可能地保留,以便脚本在1.8和1.9中均能成功运行。我不想安装RVM或类似的东西,因为最好是编写在1.9和1.8版本都可以正常运行的代码。

这是我已经尝试过:

begin; require 'ftools' rescue LoadError nil end; 
begin; require 'fileutils' rescue nil; end; 

我怎样才能得到这个工作。如果没有找到ftools,那么期望的结果是ruby默默地失败,然后转而使用fileutils。

回答

2

您是否尝试过在救援处理程序中要求使用备用库?

begin 
    require 'ftools' 
rescue LoadError 
    require 'fileutils' 
end 
+0

啊,当然这样做了。谢谢。 – stepmoz 2011-05-18 16:56:00