From: http://www.rubycentral.com/book/tut_exceptions.html --- BEGIN When you need to raise an exception, you can use one of the built-in Exception classes, or you can create one of your own. If you create your own, you might want to make it a subclass of StandardError or one of its children. If you don't, your exception won't be caught by default. --- END My question is *why* doesn't it handle the most generalized class, Exception, by default? What's the logic behind this?
on 2007-06-22 06:04
on 2007-06-22 10:13
On Jun 21, 2007, at 21:04, Seth wrote: > --- END > > My question is *why* doesn't it handle the most generalized class, > Exception, by default? What's the logic behind this? From http://www.zenspider.com/Languages/Ruby/QuickRef.html#34: Exception NoMemoryError ScriptError LoadError NotImplementedError SyntaxError SignalException Interrupt StandardError (default for rescue) [...] SystemExit fatal You don't want to rescue any of these other exceptions (besides StandardError and friends) unless you really know what you're doing. Don't create your own exception classes by subclassing Exception directly, subclass the closest matching exception class, or subclass RuntimeError or StandardError.