【发布时间】:2017-07-18 20:37:51
【问题描述】:
我有一些从 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 表的行数一样多。
【问题讨论】:
-
你认为
return;行在做什么? -
如果你得到一个 IOException,你不应该尝试继续阅读。如果文件无法读取,是什么让您认为第二次尝试能够读取它?