From 952765e4f472d3c669d56081b2d374f95da288d1 Mon Sep 17 00:00:00 2001 From: Andrea Cavalli Date: Wed, 1 Jun 2022 23:18:31 +0200 Subject: [PATCH] Ignore unuseful errors --- src/main/java/org/warp/filesponge/FileSpongeUtils.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/warp/filesponge/FileSpongeUtils.java b/src/main/java/org/warp/filesponge/FileSpongeUtils.java index e2841d7..7a29df9 100644 --- a/src/main/java/org/warp/filesponge/FileSpongeUtils.java +++ b/src/main/java/org/warp/filesponge/FileSpongeUtils.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.time.Duration; +import java.util.ArrayList; import java.util.List; import java.util.NoSuchElementException; import java.util.concurrent.TimeUnit; @@ -45,11 +46,14 @@ public class FileSpongeUtils { } private static Mono ignoreFakeErrors(Throwable ex) { - if (ex instanceof NoSuchElementException) { - var multiple = Exceptions.unwrapMultiple(ex.getCause()); + if (ex instanceof NoSuchElementException && Exceptions.isMultiple(ex.getCause())) { + var multiple = Exceptions.unwrapMultipleExcludingTracebacks(ex.getCause()); for (Throwable throwable : multiple) { if (!(throwable instanceof NoSuchElementException)) { - return Mono.error(ex); + var differentErrors = multiple.stream() + .filter(e -> !(e instanceof NoSuchElementException)) + .toArray(Throwable[]::new); + return Mono.error(Exceptions.multiple(differentErrors)); } } return Mono.empty();