gpt4 book ai didi

java - 从 java 任务抛出异常不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 10:46:14 24 4
gpt4 key购买 nike

我试图在单独线程上运行的任务中抛出异常。然后我想捕获调用线程上的异常。请参阅下面我的试用:
当我现在运行代码时,它卡在“抛出新的 RuntimeException..”行上

Task calcTask = createCalcTask();

ExecutorService executor = Executors.newFixedThreadPool(1);
Future future = executor.submit(calcTask);
try {
future.get();
} catch (ExecutionException ex) {
ex.getCause().printStackTrace();
} catch (InterruptedException e1) {
e1.printStackTrace();
}

public Task<Object> createCalcTask() {
return new Task<Object>() {
@Override
protected Object call() throws Exception {
throw new RuntimeException("testE");
}
};
}

最佳答案

试试这个....抛出异常的行应该位于 try block 内

try {
Future future = executor.submit(calcTask); //
future.get();
} catch (ExecutionException ex) {
ex.printStackTrace();
}

关于java - 从 java 任务抛出异常不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48386225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com