ふと気がついたんですが、throw で対応する catch がないときの
例外が変化しています。

% ./ruby -e 'throw "a"'  
-e:1:in `throw': uncaught throw "a" (ArgumentError)
        from -e:1:in `<main>'

% ruby-1.8 -e 'throw "a"'
-e:1:in `throw': uncaught throw `a' (NameError)
        from -e:1

これは意図されたものでしょうか。
-- 
Tanaka Akira