java - 无法访问的 catch block : Unreachable catch block for InvalidFormatException

标签 java maven selenium-webdriver

我在从 .xlsx 文件读取数据时遇到问题,因为异常的 catch (InvalidFormatException e) 返回错误为“InvalidFormatException 无法访问的 catch block 。此异常永远不会从 try 语句主体中抛出”

我使用了 openxml4j import ,我认为这是必要的

public static Object[][] getTestData(String sheetname) {
        FileInputStream file = null;
        try {
            file = new FileInputStream(TEST_DATA_SHEET_PATH);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        try {
            book = WorkbookFactory.create(file);
        } catch (InvalidFormatException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

预计 InvalidFormatException 不应出现错误,并且 .xlsx 文件中的数据应为红色

最佳答案

try {
     book = WorkbookFactory.create(file);
    } catch (InvalidFormatException e) {
     e.printStackTrace();
}

此 try block 内的代码不会引发 InvalidFormatException。这就是您收到错误消息的原因。

也许您的意图是在其他地方使用该 catch block 。

来自文档:

https://poi.apache.org/apidocs/dev/org/apache/poi/ss/usermodel/WorkbookFactory.html#create-java.io.File-

这是方法签名:

public static Workbook create(java.io.File file)
                       throws java.io.IOException,
                       EncryptedDocumentException

正如您在上面所看到的,此方法不会抛出 InvalidFormatException

关于java - 无法访问的 catch block : Unreachable catch block for InvalidFormatException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54627460/

相关文章:

java - 将控制权返回给java中的switch语句?

java - LongAdder[] + System.arraycopy() =?

java - pom.xml 打包为 ejb 时出现 Maven 错误,但打包为 jar 时消失

Eclipse 未正确部署我的 Web 应用程序

selenium - 如何在 RIDE 中单击单击事件上具有 javascript 的行

java - Selenium WebDriver 第一个要设置的 Java 示例

java - Elasticsearch Java/Groovy API : how can I send JSON requests

java - 错误 :140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

java - IntelliJ 没有在 Maven 项目中加载传递依赖

c# - NoSuchWindowException - 尽管遵循其他答案中的配置建议,但无法在 IE 上的 Selenium 中的关闭窗口中找到元素