Java Thread.setUncaughtExceptionHandler不工作
我设置了线程的uncaughtExceptionHandler,如下面的代码所示,但在运行的线程中引发HibernateeException时,它不起作用。我的jvm是1.6.026。有线索吗Java Thread.setUncaughtExceptionHandler不工作,java,java.util.concurrent,Java,Java.util.concurrent,我设置了线程的uncaughtExceptionHandler,如下面的代码所示,但在运行的线程中引发HibernateeException时,它不起作用。我的jvm是1.6.026。有线索吗 this.executor = Executors.newSingleThreadScheduledExecutor(new ThreadFactory() { public Thread newThread(Runnable r) { Thread result = Execut
this.executor = Executors.newSingleThreadScheduledExecutor(new ThreadFactory()
{
public Thread newThread(Runnable r)
{
Thread result = Executors.defaultThreadFactory().newThread(r);
result.setUncaughtExceptionHandler(new UncaughtExceptionHandler()
{
public void uncaughtException(Thread t, Throwable e) {
logger.error("error occurs while supervior is running", e);
}
})
return result;
}
});
我不知道你是从哪里开始的。你不需要运行线程来让这个代码块工作吗?例如:
// execute Threads run method
result.start();
线程中可能没有发生异常?我没有看到线程的实际起始位置。你不需要运行线程来让这个代码块工作吗?例如:result.start()?否,他使用的是
执行器
,它将要求提供的线程工厂
创建线程,然后执行器将启动它们。确定。这个问题的信息有限,因此很难猜测问题是什么。我只是想尝试一下。你猜到了吗?