From: Sean O'Halpin Date: 2005-12-09T08:08:27+09:00 Subject: Re: rescue anything raised? On 12/8/05, Jeffrey Moss wrote: > rescue Exception > > All exceptions descend from class Exception. > That's not quite true. Compare: begin eval "foo *" rescue Exception => e p e end -- OUTPUT -- # versus begin eval "foo *" rescue SyntaxError puts "syntax error" rescue Exception => e p e end -- OUTPUT -- syntax error There is a forest of exceptions not a tree. To capture an exception generally, you have to specify which family you want to intercept. The top level families of exception are: NoMemoryError, ScriptError, SignalException, StandardError, SystemExit and SystemStackError. You can find the Exception class hierarchy in Pickaxe 2, p. 109. Regards, Sean