posted 14 years ago
When an exception is thrown, the callstack for that thread is unrolled til the exception is eventually caught. If the exception is not caught, eventually the exception will be passed to a uncaught exception handler -- of which, there may be a few. Such a handler could be assigned to the thread, or the thread group.... after that, the thread is terminated, as its call stack should now be empty.
Other threads in the JVM should, in theory, be uneffected, and continue to run. The reason I say "in theory", is because it is possible for this exiting thread to affect other threads. For example, if other threads depend on the exited thread. Or the exited thread took a resource, or failed to clean up after itself. etc.
Henry