Called by the Java Virtual Machine when a thread in this
thread group stops because of an uncaught exception.
The uncaughtException method of
ThreadGroup does the following:
If this thread group has a parent thread group, the
uncaughtException method of that parent is called
with the same two arguments.
Otherwise, this method determines if the Throwable
argument is an instance of ThreadDeath. If so, nothing
special is done. Otherwise, the Throwable's
printStackTrace method is called to print a stack
backtrace to the standard error stream.
Applications can override this method in subclasses of
ThreadGroup to provide alternative handling of
uncaught exceptions.