From: lists Date: 2006-06-20T08:18:36+09:00 Subject: Where's the backtrace? I'm probably misunderstanding the way things are supposed to work. Here's what I'm seeing: $ cat lib.rb class MyClass def throws_an_exception self.non_existent_method end end if __FILE__ == $0 MyClass.new.throws_an_exception end $ ruby lib.rb lib.rb:3:in `throws_an_exception': undefined method `non_existent_method' for # (NoMethodError) from lib.rb:8 So far, this is what I expect. Now consider: $ cat the_test.rb require './lib' begin MyClass.new.throws_an_exception rescue => e puts e end $ ruby the_test.rb undefined method `non_existent_method' for # I don't get the rest of the backtrace (line number, etc.) unless I use the -d flag: $ ruby -d the_test.rb Exception `NoMethodError' at ./lib.rb:3 - undefined method `non_existent_method' for # undefined method `non_existent_method' for # Is there a way to get the "full" backtrace when calling "the_test.rb" without using the -d flag? I hope this makes sense. Thanks, Ryan