Выходные данные error.class изменяются на the 2nd execution
этого кода в скрипте / консоли Jruby.
begin
raise "something went wrong"
rescue Java::System.out => java_error
puts java_error.inspect
rescue Exception => error
puts "error class: #{error.inspect}"
puts "Why is the error class nilClass?. It should have been RuntimeError"
end
При первом выводе
error class: nil
Why is the error class nilClass?. It should have been RuntimeError
=> nil
Второй развывод:
error class: #<RuntimeError: something went wrong>
Why is the error class nilClass?. It should have been RuntimeError
=> nil
Похоже, что использование Java :: в первом блоке спасения как-то приводит к ошибке nil, при первом обнаружении.Я использовал Java :: System.out для этого примера, но это происходит с любым классом Java.
environment
jruby 1.6.5 (ruby-1.8.7-p330) (2011-10-25 9dcd388)
(Java HotSpot(TM) 64-Bit Server VM 1.6.0_26) [linux-amd64-java]
Любая идея ?, @Nick?