]> source.dussan.org Git - poi.git/commitdiff
Improve error message slightly and verify error when a File is passed in
authorDominik Stadler <centic@apache.org>
Sun, 7 Apr 2019 07:17:41 +0000 (07:17 +0000)
committerDominik Stadler <centic@apache.org>
Sun, 7 Apr 2019 07:17:41 +0000 (07:17 +0000)
as "Object"

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1857067 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/ss/usermodel/WorkbookFactory.java
src/ooxml/testcases/org/apache/poi/ss/TestWorkbookFactory.java

index ca291a68a7b91413cefb52ea80ddfd17e659c492..157dcb50b1648f096ffb5fab448f0a5eb7563563 100644 (file)
@@ -23,6 +23,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
+import java.util.Arrays;
 
 import org.apache.poi.EncryptedDocumentException;
 import org.apache.poi.OldFileFormatException;
@@ -351,8 +352,8 @@ public class WorkbookFactory {
                 throw new IOException(t.getMessage(), t);
             }
         } catch (Exception e) {
-            throw new IOException(e);
+            throw new IOException("While trying to invoke 'createWorkbook' on factory " + factoryClass +
+                    " and arguments " + Arrays.toString(args), e);
         }
     }
-
 }
index c4c68b97175ba9876b4ee31806a93b2f518b6469..8309f05ff4da091e1096a710acdaf55d2a7c942e 100644 (file)
@@ -420,6 +420,16 @@ public final class TestWorkbookFactory {
         assertNotNull(wb);
         assertTrue(wb instanceof XSSFWorkbook);
         closeOrRevert(wb);
+
+        // check what happens if the file is passed as "Object"
+
+        try {
+            //noinspection deprecation
+            WorkbookFactory.create((Object)altXLSX);
+            fail("Will throw an exception");
+        } catch(IOException e) {
+            // expected here because create() in this case expects an object of type "OPCPackage"
+        }
     }
     
     private static class TestFile extends File {