Java:在异常后使方法继续

时间:2017-07-18 20:37:51

标签: java exception

我有一个从Excel文件中读取的代码,在每一行之后使用逻辑层中的addValue方法将数据添加到数据库。

现在我有一个循环通过行和一个通过细胞的循环。 从Excel中读取表行后,它会执行addValue方法,如果出现问题,它会抛出异常。

程序现在所做的是它在出现第一个异常时停止,例如,如果损坏的数据位于该Excel文件的中间,它会导入所有内容,直到到达损坏的数据并停止。

如何在捕获addValue抛出的异常后继续它?

      try {
                    // abfangen des ersten durchlaufes 
                    if (id == -1) {
                    } else {
                        /*
                         * java.lang.System.out.println(name);
                         * java.lang.System.out.println(id);
                         * java.lang.System.out.println(value);
                         * java.lang.System.out.println(comment);
                         */
                        java.lang.System.out.println("value"+ value);
                        sysInterface.addValue(ident, name, value, comment);

                        workbook.close();
                    }

                } catch (LogicException | IOException e) {


                    Alert alert = new Alert(AlertType.INFORMATION);
                    alert.setTitle("Error Dialog");
                    alert.setHeaderText("Adding Value unsuccessful!");

                    alert.setContentText(e.getMessage()
                            + " Import aborted. \nClassificationNumber " 
      +name+ " has to be in Database before importing.");

                    alert.showAndWait();
                    return;

                }
            }

此块位于一个循环内,循环运行的次数与Excel表中的行数相同。

2 个答案:

答案 0 :(得分:2)

不要忘记您还有“ 最终 ”的情况,其中之后进行调用且错误为< em>抓住了,你可以从你离开的地方重申一下。

简短的例子:

update_category

答案 1 :(得分:0)

如果块在一个循环中,那么我假设你真正想要的是说“尝试这个,但抓住任何异常,然后跳过违规记录并继续循环”。

如果是这种情况,只需将“return”语句更改为“continue”即可。 Continue关键字表示“在循环的这一步骤中跳过剩下的执行,然后转到下一步。