Работает ли модификатор инструкции Ruby rescue
с 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
Работает ли модификатор инструкции Ruby rescue
с 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
Вы можете спастись от LoadError
, вам просто нужно использовать стиль begin/end
и не использовать встроенный rescue
:
Это работает так, как вы ожидаете:
begin
require 'a'
rescue LoadError => ex
puts "Load error: #{ex.message}"
end
rescue
спасает только StandardError
(и его подклассы) . LoadError
не является подклассом StandardError
.
- person matt; 05.10.2012