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();