Why is false by default? In what case would you want an exception to propagate to the top of a thread and kill it SILENTLY and then keep running? Why doesn't it at least print something out if it isn't going to kill the program? We had a problem where a DRb server died silently causing a lot of headache trying to figure out why the program was suddenly no longer functioning correctly. Any module that a person imports that uses threads (unknown to the user of that module) can die and cause problems SILENTLY. With my change, the exception could always print out a message and die based on an option like abort_on_exception. Steve Tuckner > -----Original Message----- > From: ts [mailto:decoux / moulon.inra.fr] > Sent: Friday, August 08, 2003 12:35 PM > To: ruby-talk ML > Cc: ruby-talk / ruby-lang.org > Subject: Re: Catching thread exceptions > > > >>>>> "S" == Steve Tuckner <STUCKNER / MULTITECH.COM> writes: > > S> Is there a better way? > > Thread.abort_on_exception = true > > svg% ruby -e 'Thread.new { raise "aa" }; p "after"' > "after" > svg% > > svg% ruby -e 'Thread.abort_on_exception = true; Thread.new { > raise "aa" }; p "after"' > -e:1: aa (RuntimeError) > from -e:1:in `initialize' > from -e:1:in `new' > from -e:1 > svg% > > > Guy Decoux