From 16f6e89e45f9102650d84635d40bf82a2fa66af7 Mon Sep 17 00:00:00 2001 From: Glavo Date: Sat, 18 Oct 2025 21:47:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=20CompletableFutureTask.reso?= =?UTF-8?q?lveException=20(#4690)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jackhuang/hmcl/task/CompletableFutureTask.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/CompletableFutureTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/CompletableFutureTask.java index ab8f486cf..399ae7a52 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/CompletableFutureTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/CompletableFutureTask.java @@ -17,9 +17,10 @@ */ package org.jackhuang.hmcl.task; +import org.jackhuang.hmcl.util.Lang; + import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionException; -import java.util.concurrent.ExecutionException; public abstract class CompletableFutureTask extends Task { @@ -29,18 +30,11 @@ public abstract class CompletableFutureTask extends Task { public abstract CompletableFuture getFuture(TaskCompletableFuture executor); - protected static Throwable resolveException(Throwable e) { - if (e instanceof ExecutionException || e instanceof CompletionException) - return resolveException(e.getCause()); - else - return e; - } - public static class CustomException extends RuntimeException {} protected static CompletableFuture breakable(CompletableFuture future) { return future.thenApplyAsync(unused1 -> (Void) null).exceptionally(throwable -> { - if (resolveException(throwable) instanceof CustomException) return null; + if (Lang.resolveException(throwable) instanceof CustomException) return null; else throw new CompletionException(throwable); }); }