### Question:
BookieThread extends FastThreadLocalThread implements
        Thread.UncaughtExceptionHandler { @Override public void uncaughtException(Thread t, Throwable e) { handleException(t, e); } BookieThread(String name);  BookieThread(Runnable thread, String name); @Override void uncaughtException(Thread t, Throwable e);  }### Answer:
@Test public void testUncaughtException() throws Exception { MyThread myThread = new MyThread("Test-Thread"); myThread.start(); Assert.assertTrue("Uncaught exception is not properly handled.", runningLatch.await(10000, TimeUnit.MILLISECONDS)); runningLatch = new CountDownLatch(1); MyCriticalThread myCriticalThread = new MyCriticalThread( "Test-Critical-Thread"); myCriticalThread.start(); Assert.assertTrue("Uncaught exception is not properly handled.", runningLatch.await(10000, TimeUnit.MILLISECONDS)); }