Ben*_*sen 3 java multithreading exception
我正在使用 ExecutorService 在系统上运行测试。当测试由于某种原因失败时就会出现问题。这些原因可能有很多,当然我会记录这些错误。
但我想实时通知用户错误。因此,当错误发生时,到达顶部的时间越长,它就变成TestFailedException带有消息和原因的错误。我想捕获这个异常并通知用户,但我似乎无法做到这一点。
这是实际启动运行测试的线程的方法示例:
public void asyncRunTestfixture(Concretetest concretetest) {
ExecutorService executor = Executors.newCachedThreadPool();
FutureTask<Boolean> futureTask_1 = new FutureTask<Boolean>(new Callable<Boolean>() {
@Override
public Boolean call() throws TestFailedException {
return RunTestInFixture(concretetest);
}
});
executor.execute(futureTask_1);
executor.shutdown();
}
Run Code Online (Sandbox Code Playgroud)
但即使 call 抛出异常,我也无法在其他地方捕获它,无论是现在还是如果我说 asyncRunTestfixture 方法抛出异常。
我该如何解决这个问题?
| 归档时间: |
|
| 查看次数: |
5416 次 |
| 最近记录: |