org.apache.commons.launcher
Class ExitOnErrorThreadGroup

java.lang.Object
  |
  +--java.lang.ThreadGroup
        |
        +--org.apache.commons.launcher.ExitOnErrorThreadGroup

public class ExitOnErrorThreadGroup
extends java.lang.ThreadGroup

A class that subclasses the ThreadGroup class. This class is used by ChildMain.main(String[]) to run the target application. By using this class, any Error other than ThreadDeath thrown by threads created by the target application will be caught the process terminated. By default, the JVM will only print a stack trace of the Error and destroy the thread. However, when an uncaught Error occurs, it normally means that the JVM has encountered a severe problem. Hence, an orderly shutdown is a reasonable approach.

Note: not all threads created by the target application are guaranteed to use this class. Target application's may bypass this class by creating a thread using the Thread.Thread(ThreadGroup, String) or other similar constructors.

Author:
Patrick Luby

Constructor Summary
ExitOnErrorThreadGroup(java.lang.String name)
          Constructs a new thread group.
 
Method Summary
 void uncaughtException(java.lang.Thread t, java.lang.Throwable e)
          Trap any uncaught Error other than ThreadDeath and exit.
 
Methods inherited from class java.lang.ThreadGroup
activeCount, activeGroupCount, allowThreadSuspension, checkAccess, destroy, enumerate, enumerate, enumerate, enumerate, getMaxPriority, getName, getParent, interrupt, isDaemon, isDestroyed, list, parentOf, resume, setDaemon, setMaxPriority, stop, suspend, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ExitOnErrorThreadGroup

public ExitOnErrorThreadGroup(java.lang.String name)
Constructs a new thread group. The parent of this new group is the thread group of the currently running thread.

Parameters:
name - the name of the new thread group
Method Detail

uncaughtException

public void uncaughtException(java.lang.Thread t,
                              java.lang.Throwable e)
Trap any uncaught Error other than ThreadDeath and exit.

Overrides:
uncaughtException in class java.lang.ThreadGroup
Parameters:
t - the thread that is about to exit
e - the uncaught exception


Copyright (c) 2001-2002 - Apache Software Foundation