MenTaLguY wrote:
> On Wed, 29 Aug 2007 03:33:04 +0900, Joel VanderWerf <vjoel / path.berkeley.edu> wrote:
>> It's just one of those gotchas that keeps coming up. A similar one is
>>
>>    Thread.abort_on_exception = true
>>
>> (otherwise threads die silently on unhandled exceptions).
> 
> You don't always want to do that, since you can recover the unhandled
> exception that terminated a thread via Thread#join or Thread#value
> and some libraries rely on this.

Good point. It's a global setting, so should be avoided. Better to set 
this flag on threads individually using the instance method 
#abort_on_exception and do so only in those cases where you don't use 
join or value to propagate the exception to another thread. For example, 
it would be a good idea to set this flag for a thread that is expected 
to run indefinitely (no other thread is waiting for it to finish). Even 
in that case, you might want to wrap the thread's code in a rescue 
clause, if you just want to log the error and let other threads proceed.

-- 
       vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407