Hi gurus and nubys,

I have a strange behaviour I can't explain
If I run this code:

require 'test/unit'

class T < Test::Unit::TestCase
  def test_f
    raise Exception.new
  end
end

Test::Unit goes boom:

Loaded suite boom
Started
boom.rb:5:in `test_f': Exception (Exception)
	from rubydir/1.8/test/unit/testcase.rb:70:in `__send__'
	from rubydir/1.8/test/unit/testcase.rb:70:in `run'
	from rubydir/1.8/test/unit/testsuite.rb:32:in `run'
	from rubydir/1.8/test/unit/testsuite.rb:31:in `each'
	from rubydir/1.8/test/unit/testsuite.rb:31:in `run'
	from rubydir/1.8/test/unit/testsuite.rb:32:in `run'
	from rubydir/1.8/test/unit/testsuite.rb:31:in `each'
	from rubydir/1.8/test/unit/testsuite.rb:31:in `run'
	from rubydir/1.8/test/unit/ui/testrunnermediator.rb:44:in `run_suite'
	from rubydir/1.8/test/unit/ui/console/testrunner.rb:65:in `start_mediator'
	from rubydir/1.8/test/unit/ui/console/testrunner.rb:39:in `start'
	from rubydir/1.8/test/unit/ui/testrunnerutilities.rb:27:in `run'
	from rubydir/1.8/test/unit/autorunner.rb:185:in `run'
	from rubydir/1.8/test/unit/autorunner.rb:13:in `run'
	from rubydir/1.8/test/unit.rb:283
	from rubydir/1.8/test/unit.rb:283



Why does it happen?
It seem fairly normal to me to create Exceptions inheriting, well, from 
Exception, and those are not going to be caught from Test::Unit. What am 
I doing wrong?

As a sidenote, should'nt irb handle this?

irb(main):001:0> raise Exception.new
(irb):1:in `irb_binding': Exception (Exception)
         from rubydir/1.8/irb/workspace.rb:52:in `irb_binding'

         from rubydir/1.8/irb/workspace.rb:52

C:\Documents and Settings\gabriele\>


I'm running the latest praprog installer on windows xp pro.
ruby -v
ruby 1.8.2 (2004-07-29) [i386-mswin32]