Я пытаюсь спасти от, ''потребуйте': никакой такой файл для загрузки в рубине' для вывода подсказок пользователя при определении-I, отмечает в случае, если он забыл делать так. В основном код похож:
begin
require 'someFile.rb'
rescue
puts "someFile.rb was not found, have you"
puts "forgotten to specify the -I flag?"
exit
end
Я ожидал rescue
часть для принятия выполнения в случае, если someFile.rb
не был найден, но мое предположение было неправильным.
rescue без аргументов спасает только StandardError s. LoadError (который возникает из-за того, что файл не найден) является не StandardError, а ScriptError (см. http://blog.nicksieger.com/articles/2006/09/06/rubys-exception-hierarchy). Поэтому вы должны явно спасти LoadError, как указал MBO.
Вы должны явно указать, от какой ошибки вы хотите избавиться.
begin
require 'someFile.rb'
rescue LoadError
puts "someFile.rb was not found, have you"
puts "forgotten to specify the -I flag?"
exit
end