Object as second parameter to raise

Hi

I've just realised that I've been inadvertently passing objects other
than strings to raise. As in this example:

class Foo
  def bar
    :bar
  end
end

begin
  raise RuntimeError, Foo.new
rescue => e
  puts e.message.bar # prints bar in 1.8.6 MRI and 1.9.1 YARV
end

While this works, and is quite useful, I suspect it's an artefact and
isn't supported in other Ruby VMs?

Thanks

Paul