我有一个使用 executorService
的程序,我将向其传递 callables
。
其中每一个都是实现 java.util.concurrent.Callable
的一个类的对象。
然后调用executorService
。 java.lang.NoClassDefFoundError
被抛出到 call()
方法中的一个可调用项的中间。
但是它不会终止,也不会在控制台上登录。因此无法知道程序是否正确运行。请提出我可以理解的任何方式。
最佳答案
A Callable抛出异常,它不是 NoClassDefFoundError 的父类(super class).在你的 Callable 中,捕获错误(甚至是 Throwable)并用异常包装它:
V call() throws Exception
{
try
{
return this.doSomething();
} catch (Error e) {
e.printStackTrace();
throw new Exception(e);
}
}
关于java - 如果执行程序服务的可调用项之一遇到错误,如何在控制台中记录错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30916227/