Как я могу перехватить исключения LoadError в Ruby 1.9 и 1.8? - PullRequest
1 голос
/ 18 мая 2011

У меня есть несколько сценариев Ruby 1.8.x, для которых требуется ftools.

Как я могу заставить эти скрипты перестать генерировать исключения, когда я запускаю их в 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;

Как я могу заставить это работать. Желаемый результат для ruby ​​- молча завершиться ошибкой, если ftools не найден, а затем просто перейти к fileutils.

1 Ответ

2 голосов
/ 18 мая 2011

Пытались ли вы использовать резервную библиотеку в обработчике спасения?

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