Java-一旦发生错误,立即从2个可调用项中捕获错误

Java-一旦发生错误,立即从2个可调用项中捕获错误,java,multithreading,concurrency,future,callable,Java,Multithreading,Concurrency,Future,Callable,我有两个可调用的任务同时运行,从主线程启动。这两个可调用项中的任何一个都可能引发错误,我需要将此错误传递回主线程并在那里进行处理。此外,只要在任何一个Callable中出现错误,我都希望在main中捕获它。然而,我不知道如何才能做到这一点。如果我只是等待两个未来的赎回权 try { future1.get(); future2.get(); } catch (ExecutionException e) { // Handle the error... } 然后,我无法捕

我有两个可调用的任务同时运行,从主线程启动。这两个可调用项中的任何一个都可能引发错误,我需要将此错误传递回主线程并在那里进行处理。此外,只要在任何一个Callable中出现错误,我都希望在main中捕获它。然而,我不知道如何才能做到这一点。如果我只是等待两个未来的赎回权

try {
    future1.get();
    future2.get();
} catch (ExecutionException e) {
    // Handle the error...
}
然后,我无法捕获错误,因为它发生在第二个可调用函数中。我必须等到第一次调用完成,要么正常,要么它本身抛出错误

我看不出还有什么别的办法能做到这一点。有什么解决办法吗?

使用。它将对最近完成的可调用项进行排队,在本例中,该可调用项将是第一个抛出错误的