]> source.dussan.org Git - poi.git/commitdiff
throw IOException if getInputStream fails
authorPJ Fanning <fanningpj@apache.org>
Mon, 8 Nov 2021 20:49:45 +0000 (20:49 +0000)
committerPJ Fanning <fanningpj@apache.org>
Mon, 8 Nov 2021 20:49:45 +0000 (20:49 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1894848 13f79535-47bb-0310-9956-ffa450edef68

poi-ooxml/src/main/java/org/apache/poi/openxml4j/util/ZipArchiveFakeEntry.java
poi-ooxml/src/main/java/org/apache/poi/openxml4j/util/ZipInputStreamZipEntrySource.java

index 2a32f8b5a772324e15a661f60b7e4a28d2554ff5..5cfa89309910415715201a9090de71ba1e28aa51 100644 (file)
@@ -71,27 +71,27 @@ import org.apache.poi.util.TempFile;
     /**
      * Returns zip entry.
      * @return input stream
-     * @throws RuntimeException since POI 5.1.0,
-     * a RuntimeException can occur if the optional temp file has been removed
+     * @throws IOException since POI 5.2.0,
+     * an IOException can occur if the optional temp file has been removed (was a RuntimeException in POI 5.1.0)
      * @see ZipInputStreamZipEntrySource#setThresholdBytesForTempFiles(int)
      */
-    public InputStream getInputStream() {
+    public InputStream getInputStream() throws IOException {
         if (encryptedTempData != null) {
             try {
                 return encryptedTempData.getInputStream();
             } catch (IOException e) {
-                throw new RuntimeException("failed to read from encrypted temp data", e);
+                throw new IOException("failed to read from encrypted temp data", e);
             }
         } else if (tempFile != null) {
             try {
                 return new FileInputStream(tempFile);
             } catch (FileNotFoundException e) {
-                throw new RuntimeException("temp file " + tempFile.getAbsolutePath() + " is missing");
+                throw new IOException("temp file " + tempFile.getAbsolutePath() + " is missing");
             }
         } else if (data != null) {
             return new UnsynchronizedByteArrayInputStream(data);
         } else {
-            throw new RuntimeException("Cannot retrieve data from Zip Entry, probably because the Zip Entry was closed before the data was requested.");
+            throw new IOException("Cannot retrieve data from Zip Entry, probably because the Zip Entry was closed before the data was requested.");
         }
     }
 
index ad99adb693afea9cc19e8966c47bc0799214cd91..f47418e72115ee54d75b287c4d5a6b58b07397df 100644 (file)
@@ -107,7 +107,7 @@ public class ZipInputStreamZipEntrySource implements ZipEntrySource {
     }
 
     @Override
-    public InputStream getInputStream(ZipArchiveEntry zipEntry) {
+    public InputStream getInputStream(ZipArchiveEntry zipEntry) throws IOException {
         assert (zipEntry instanceof ZipArchiveFakeEntry);
         return ((ZipArchiveFakeEntry)zipEntry).getInputStream();
     }