diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FileDownloadTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FileDownloadTask.java index 7c0edcbf6..ea37a4f06 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FileDownloadTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FileDownloadTask.java @@ -209,6 +209,7 @@ public class FileDownloadTask extends Task { Logging.LOG.log(Level.FINER, "Downloading " + urls.get(0) + " to " + file); Exception exception = null; + URL failedURL = null; for (int repeat = 0; repeat < retry * urls.size(); repeat++) { URL url = urls.get(repeat / retry); @@ -325,6 +326,7 @@ public class FileDownloadTask extends Task { } catch (IOException e) { if (temp != null) temp.toFile().delete(); + failedURL = url; exception = e; Logging.LOG.log(Level.WARNING, "Failed to download " + url + ", repeat times: " + (repeat + 1), e); } finally { @@ -333,7 +335,7 @@ public class FileDownloadTask extends Task { } if (exception != null) - throw new DownloadException(urls.get(0), exception); + throw new DownloadException(failedURL, exception); } private static final Timer timer = new Timer("DownloadSpeedRecorder", true);