Does the Ruby rescue statement work with require?

2019-05-10 01:14发布

问题:

Does the Ruby rescue statement modifier work with require?

irb(main):001:0> require 'a' rescue nil
LoadError: no such file to load -- a
    from (irb):1:in `require'
    from (irb):1
    from :0

回答1:

You can rescue from a LoadError you just need to use the begin/end style and not use the inline rescue:

This works as you expect:

begin
 require 'a'
rescue LoadError => ex
 puts "Load error: #{ex.message}"
end