diff --git a/app/src/main/java/com/stardust/io/ConcatReader.java b/app/src/main/java/com/stardust/io/ConcatReader.java index 3e6ef327..22f6fe41 100644 --- a/app/src/main/java/com/stardust/io/ConcatReader.java +++ b/app/src/main/java/com/stardust/io/ConcatReader.java @@ -383,10 +383,17 @@ public class ConcatReader extends Reader { @Override public void close() throws IOException { if (closed) return; + IOException first = null; for (Reader reader : readerQueue) { - reader.close(); + try { + reader.close(); + } catch (IOException e) { + if (first == null) first = e; + else first.addSuppressed(e); + } } closed = true; + if (first != null) throw first; } /** diff --git a/app/src/main/java/org/autojs/autojs/io/ConcatReader.java b/app/src/main/java/org/autojs/autojs/io/ConcatReader.java index 0d1fac1e..20d825ad 100644 --- a/app/src/main/java/org/autojs/autojs/io/ConcatReader.java +++ b/app/src/main/java/org/autojs/autojs/io/ConcatReader.java @@ -381,10 +381,17 @@ public class ConcatReader extends Reader { @Override public void close() throws IOException { if (closed) return; + IOException first = null; for (Reader reader : readerQueue) { - reader.close(); + try { + reader.close(); + } catch (IOException e) { + if (first == null) first = e; + else first.addSuppressed(e); + } } closed = true; + if (first != null) throw first; } /**