如何在Ruby 1.9和1.8中捕获LoadError异常?

时间:2011-05-18 16:37:11

标签: ruby load version require

我有一堆需要ftools的Ruby 1.8.x脚本。

当我在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。

1 个答案:

答案 0 :(得分:2)

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

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