From: "none <@..., xavier\""@>(none) Date: 2011-01-30T18:00:25+09:00 Subject: Re: Failed requires? Terry Michaels a 辿crit : > 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? > Works for me : $ irb irb(main):001:0> require 'foo' LoadError: no such file to load -- foo from (irb):1:in `require' from (irb):1 irb(main):002:0> begin irb(main):003:1* require 'foo' irb(main):004:1> rescue LoadError => e irb(main):005:1> puts 'do something else' irb(main):006:1> end do something else => nil -- Xavier Nayrac http://undeveloppeur.wordpress.com