So it's intentional.  Thank you.

I hear what you say, but shouldn't that be something that gets handled 
by raise?

My implementation isn't what I'm worried about here, I already wrote the 
handler, and the implementation is intended for end-users to write 
scripts in.  It's just that I was surprised by what struck me as 
non-intuitive behavior.  I know exit! bypasses handlers.  It always 
struck me that this was a means of getting around 'ensure'.  I've always 
viewed exit as being for exiting and raise being for raising exceptions. 
Is there something I'm missing?

-- 
Posted via http://www.ruby-forum.com/.