class X < RuntimeError;end x = [X] begin raise X rescue *x puts "yup" end --- % ruby -v -e 'class X < RuntimeError;end; x = [X]; begin; raise X; rescue *x; puts "yup"; end' ruby 1.8.6 (2007-09-24 patchlevel 111) [universal-darwin9.0] yup % ./runruby.rb -v -e 'class X < RuntimeError;end; x = [X]; begin; raise X; rescue *x; puts "yup"; end' ruby 1.9.0 (2007-12-20 patchlevel 0) [i686-darwin9.1.0] -e:1:in `raise': X (X) from -e:1:in `<main>'