检查代码并修改:try { CompletableFuture.runAsync(() -> { int i = 1 / 0; }, CUSTOM_THREAD_POOL); } catch (Exception e) { log.error("异常信息: " + e.getMessage(), e); throw new BusinessException(e.getMessage()); }
时间: 2023-05-18 18:05:27 浏览: 158
CompletableFuture 异步处理
try {
CompletableFuture.runAsync(() -> {
int i = 1 / 0;
}, CUSTOM_THREAD_POOL).exceptionally(ex -> {
log.error("异常信息: " + ex.getMessage(), ex);
throw new BusinessException(ex.getMessage());
});
} catch (Exception e) {
log.error("异常信息: " + e.getMessage(), e);
throw new BusinessException(e.getMessage());
}
修改说明:
1. 在 CompletableFuture.runAsync() 方法中添加了 .exceptionally() 方法,用于处理异步任务中的异常。
2. 在 .exceptionally() 方法中记录日志并抛出 BusinessException 异常。
3. 在 try-catch 块中捕获 CompletableFuture.runAsync() 方法中的异常,并记录日志并抛出 BusinessException 异常。
阅读全文