abbot.util
Class AbstractEventExceptionHandler
java.lang.Object
|
+--abbot.util.AbstractEventExceptionHandler
- Direct Known Subclasses:
- ComponentTestFixture.ExceptionCatcher, EventExceptionHandler
- public abstract class AbstractEventExceptionHandler
- extends Object
Handler for uncaught exceptions on any event dispatch thread.
Once this has been installed, the class must be accessible by any
subsequently launched dispatch thread.
This handler is installed by setting the System property
sun.awt.exception.handler. See javadoc for java.awt.EventDispatchThread
for details. This is sort of a patch to Sun's implementation, which only
checks the property once and caches the result ever after. This
implementation will always chain to the handler indicated by the current
value of the property.
It is most definitely NOT safe to try to install several of these on
different threads.
Field Summary |
static String |
PROP_NAME
See javadoc for java.awt.EventDispatchThread. |
Method Summary |
protected abstract void |
exceptionCaught(Throwable thrown)
Define this to handle the exception as needed. |
void |
handle(Throwable thrown)
Handle exceptions thrown on the event dispatch thread. |
void |
install()
Install a handler for event dispatch exceptions. |
static boolean |
isInstalled()
|
Methods inherited from class java.lang.Object |
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PROP_NAME
public static final String PROP_NAME
- See javadoc for java.awt.EventDispatchThread.
AbstractEventExceptionHandler
public AbstractEventExceptionHandler()
install
public void install()
- Install a handler for event dispatch exceptions. This is kind
of a hack, but it's Sun's hack.
See the javadoc for java.awt.EventDispatchThread for details.
NOTE: we throw an exception immediately, which
ensures that our handler is installed, since otherwise
someone might set this property later.
java.awt.EventDispatchThread doesn't actually load the handler
specified by the property until an exception is caught by the
event dispatch thread. SwingSet2 in 1.4.1 installs its own.
Note that a new instance is created for each exception thrown.
- Throws:
RuntimeException
- if the handler cannot be installed.IllegalStateException
- if this method is invoked from an event
dispatch thread.IllegalArgumentException
- if the given class is not derived
from this one.
exceptionCaught
protected abstract void exceptionCaught(Throwable thrown)
- Define this to handle the exception as needed.
handle
public void handle(Throwable thrown)
- Handle exceptions thrown on the event dispatch thread.
isInstalled
public static boolean isInstalled()
Copyright © 2002-2003 Timothy Wall. All Rights Reserved.
Abbot is hosted on