Improve error message slightly and verify error when a File is passed in

as "Object"

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1857067 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Dominik Stadler 2019-04-07 07:17:41 +00:00
parent 9b726e88b7
commit b88c6b12e5
2 changed files with 13 additions and 2 deletions

View 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);
}
}
}

View 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 {