Can some[one] briefly compare raise and throw for me? Thx!

"raise" raises an error/exception (whatever you want to call it).  This
exception - which is an object - is "rescued" later and some error-handling
code performed.

"throw" throws a symbol out into the wilderness, hoping that someone will
"catch" it.

There are distinct similarities in their operation, the most important one
being that they can jump the boundaries of several method invocations (stack
frames) at once.  There are probably differences too, but to me, the real
difference is of intent.  "raise/rescue/ensure" is for exception handling, and
"throw/catch" is for signalling - generally signalling that something has
finished early and we can quite the whole operation altogether.

The other difference is that I've never used throw/catch, and consider it a bit
dodgy.  raise/resuce/ensure, OTOH, I use all the time.

See Pickaxe for more information.

Gavin