/** *getUncaughtExceptionHandlerreturnsThreadGroupunlessset, *otherwisereturningvalueoflastsetUncaughtExceptionHandler.
*/ publicvoid testGetAndSetUncaughtExceptionHandler() { // these must be done all at once to avoid state // dependencies across tests Thread current = Thread.currentThread();
ThreadGroup tg = current.getThreadGroup();
MyHandler eh = new MyHandler();
assertSame(tg, current.getUncaughtExceptionHandler());
current.setUncaughtExceptionHandler(eh); try {
assertSame(eh, current.getUncaughtExceptionHandler());
} finally {
current.setUncaughtExceptionHandler(null);
}
assertSame(tg, current.getUncaughtExceptionHandler());
}
/** *getDefaultUncaughtExceptionHandlerreturnsvalueoflast *setDefaultUncaughtExceptionHandler.
*/ publicvoid testGetAndSetDefaultUncaughtExceptionHandler() {
assertNull(Thread.getDefaultUncaughtExceptionHandler()); // failure due to SecurityException is OK. // Would be nice to explicitly test both ways, but cannot yet. Thread.UncaughtExceptionHandler defaultHandler
= Thread.getDefaultUncaughtExceptionHandler();
MyHandler eh = new MyHandler(); try { Thread.setDefaultUncaughtExceptionHandler(eh); try {
assertSame(eh, Thread.getDefaultUncaughtExceptionHandler());
} finally { Thread.setDefaultUncaughtExceptionHandler(defaultHandler);
}
} catch (SecurityException ok) {
assertNotNull(System.getSecurityManager());
}
assertSame(defaultHandler, Thread.getDefaultUncaughtExceptionHandler());
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.