jruby делает спасение Исключение ноль с спасением Java :: System.out - PullRequest
1 голос
/ 21 января 2012

Выходные данные 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?

...