From: Sonny Chee Date: 2007-03-31T01:55:41+09:00 Subject: Re: Exceptions occassionally lost by child threads Thanks guys. My bad. For some reason I thought join(1) returned nil when the thread completed. That should learn me to post messages when I'm half asleep:"P In the following snippet the parent always catches the exception regardless of the position of the sleep 1 statment. a = Thread.new { begin puts 'blue' sleep 2; raise ArgumentError.new('green') rescue Exception => err puts "Caught: #{err.message}" raise err end } begin b = a while a sleep 1 # position 1 b = a.join(1) a = b if !a sleep 1 # position 2 end puts 'yellow' rescue Exception => err puts "Caught it again: #{err.message}" end -- Posted via http://www.ruby-forum.com/.