From: ts Date: 2000-11-11T02:16:21+09:00 Subject: [ruby-talk:6255] Re: Rescue problems >>>>> "a" == aschneiderman writes: a> testerror.rb:3: undefined local variable or method `ddddd' for a> Object:0x45aa5c0> (NameError) By default 'rescue' catch only StandardError. With ruby 1.6, ScriptError is now a subclass of Exception. * Exception * fatal * Interrupt * NoMemoryError * ScriptError * LoadError * NameError * NotImplementedError * SyntaxError * SignalException * StandardError * ArgumentError * IndexError * IOError * EOFError * LocalJumpError * RangeError * FloatDomainError * RegexpError * RuntimeError * SecurityError * SystemCallError * SystemStackError * ThreadError * TypeError * ZeroDivisionError * SystemExit You can write: begin print "this is a test" ddddd rescue => detail print "I ran into an error:\n" print detail.backtrace.join("\n") rescue NameError => detail puts "Here : #{detail} at #{detail.backtrace}" end Guy Decoux