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