Am 30.01.2011 07:07, schrieb Terry Michaels:
> I'm running ruby 1.8.7. If I 'require' a file, and it fails, the program
> just crashes with message like so:
> 
> no such file to load -- whatsit
>   from /usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
> `gem_original_require'
>   from /usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
> `require'
>   from (irb):1
> 
> or (if if I turn auto_gem off):
> 
> ./main.rb:3:in `require': no such file to load -- whatsit (LoadError)
>   from ./main.rb:3
> 
> It seems like I should be given the chance to do something else if a
> require fails, such as print an more understandable message to the
> console or put something in a log. But it seems that ruby does not
> return from the 'require' call, or allow catching an exception. Am I
> right? And why is this?
> 

begin
  require "whatsit"
rescue LoadError => e
  puts "Failed to load whatsit:"
  puts e.message
  puts "Please install it."
  exit 1
end