Dear Rubyists, def x() yield rescue :error end [ x { Integer(nil) }, x { Float(nil) }, x{ String(nil) } ] # => [0, :error, ""] Isn't that a bit inconsistent? Cheers, -- Christoffer Sawicki http://vemod.net/