diff --git a/test/java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java b/test/java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java index 05d378bcfbdcf87f6d004864e7753a13de240055..95150f70a6a449f34f2de1bfc408a34f0ad94b41 100644 --- a/test/java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java +++ b/test/java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java @@ -79,23 +79,18 @@ public final class LFMultiThreadCachingTest extends LFCachingTestCase { CountDownLatch end = new CountDownLatch(CORES); final Map threadUncaughtExceptions = Collections.synchronizedMap(new HashMap(CORES)); - Thread.UncaughtExceptionHandler exHandler = (t, e) -> { - threadUncaughtExceptions.put(t, e); - }; for (int i = 0; i < CORES; ++i) { TestMethods.Kind kind = KINDS[i % KINDS.length]; Thread t = new Thread(() -> { try { begin.await(); adapters.add(getTestMethod().getTestCaseMH(data, kind)); - } catch (InterruptedException | BrokenBarrierException - | IllegalAccessException | NoSuchMethodException ex) { - throw new Error("Unexpected exception", ex); + } catch (Throwable ex) { + threadUncaughtExceptions.put(Thread.currentThread(), ex); } finally { end.countDown(); } }); - t.setUncaughtExceptionHandler(exHandler); t.start(); } try {