自作の例外をキャッチできない

一時間以上悩んだ・・・

class Test
  def execute 
    throw SomeError.new
  end
end
class SomeError < StandardError
end
begin
  Test.new.execute
rescue SomeError
end

例外をキャッチできず

test.rb:4:in `throw': uncaught throw `SomeError' (NameError)
        from test.rb:4:in `execute'
        from test.rb:11

となっちゃう。

throw じゃなくて raise だった Java脳 orz