From: Yukihiro Matsumoto Date: 2009-07-21T09:49:35+09:00 Subject: Re: Thread.abort_on_exception default to true Hi, In message "Re: Thread.abort_on_exception default to true" on Tue, 21 Jul 2009 06:45:03 +0900, Roger Pack writes: |here's a (somewhat contrived) ex: | |"deep within a some server: " | |Thread.new { send an email } | |# continue running, handle next request, etc. | |In this instance, I don't want to join on the thread because I am not |concerned about when it finishes--it doesn't matter to me, and I don't |want to wait for it as it would slow up processing my next request. |Therefore the exception is forgotten. I think you'd better handle the exception in the thread block. abort_on_exception means asynchronous exceptions will be delivered to the main thread. That means any exception may happen on any point in the main thread. From my point of view, asynchronous exception is like a nightmare, especially for production code. Most code is not exception safe at that level. That is the reason abort_on_exception to be false by default. That is only for debugging purpose. matz.