Есть ли альтернативы для спасения LoadError для Ruby?

Я прочитал сообщение в блоге JRuby Performance: Исключения - это не управление потоком , в котором рекомендуется избегать использования исключений, за исключением исключительных обстоятельств.

I понял, что виновен в использовании rescue для обработки ошибок LoadErrors на регулярной основе.

Есть ли альтернатива require , которая пытается загрузить файл, если он существует, но не генерирует исключение, если это не так?

Справочная информация: Если вам интересно, «почему у вас есть требования, которые вам не нужны?», вот моя история:

  1. Когда я программировал для Ruby 1.8, я used требует "rdoc / usage" , чтобы я мог предоставить информацию об использовании, если я не ввел правильное количество параметров в своем приложении командной строки. Это вызывает исключение в готовой версии 1.9.
  2. Часть моего приложения включает код для управления win32ole, когда он работает на моем рабочем столе Windows. Это вызывает ошибку LoadError, если задействованные файлы были запущены на сервере Linux, который выполняет тяжелую вычислительную работу. Файлы, в которых используется win32ole, также содержат другой код, который протестирован в моем тестовом наборе, поэтому при запуске моего набора тестов под Linux мне потребуются эти файлы. Мне следовало бы разделить такие файлы, но это немного похоже на бритье яка.

9
задан mu is too short 20 June 2011 в 05:33
поделиться