diff --git a/src/main/java/io/socket/thread/EventThread.java b/src/main/java/io/socket/thread/EventThread.java index 64c6ab9..4398620 100644 --- a/src/main/java/io/socket/thread/EventThread.java +++ b/src/main/java/io/socket/thread/EventThread.java @@ -4,6 +4,8 @@ package io.socket.thread; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ThreadFactory; +import java.util.logging.Level; +import java.util.logging.Logger; /** @@ -11,6 +13,8 @@ import java.util.concurrent.ThreadFactory; */ public class EventThread extends Thread { + private static final Logger logger = Logger.getLogger(EventThread.class.getName()); + private static final ThreadFactory THREAD_FACTORY = new ThreadFactory() { @Override public Thread newThread(Runnable runnable) { @@ -73,6 +77,9 @@ public class EventThread extends Thread { public void run() { try { task.run(); + } catch (Throwable t) { + logger.log(Level.SEVERE, "Task threw exception", t); + throw t; } finally { synchronized (EventThread.class) { counter--;