首先,下面的代码暂时没有问题。 我收到一位同事的excel文件,我通过这个程序阅读并上传。 最近,同事被替换了,我从另一个人那里收到了这些文件。 我会和他一起查看他对excel文件做了什么。
无论如何,我从新同事那里得到的第一个excel文件让我感到沮丧。
以下代码在WorkbookFactory.create(fis)
来电时退出。没有异常被抛出
程序直接进入finally
条款...
try {
fis = new FileInputStream(f);
Workbook wb = WorkbookFactory.create(fis);
Sheet ws = wb.getSheetAt(0);
if (ws == null) {
throw new ParseException("No sheet found on index 0", 1);
}
Iterator rowIt = ws.rowIterator();
while (rowIt.hasNext()) {
Row row = (Row) rowIt.next();
if (row.getRowNum() != 0 && isArticleRow(row)) {
Article article = parseArticleData(row);
if (article != null) {
priceList.getArticles().add(article);
}
}
}
String vendorNumber = getVendorNumber(priceList);
priceList.setVendorNumber(vendorNumber);
priceList.setReadCorrectly(true);
System.out.println("DONE");
} catch (Exception e) {
System.out.println(e.getMessage());
_log.error(e.getMessage());
if (priceList != null) {
priceList.setReadCorrectly(false);
}
} finally {
if (fis != null) {
fis.close();
}
return priceList;
}
我尝试过调试,但是我遇到了同样的行为,没有 抛出异常,我不知道该怎么办。
提前感谢您的反馈。
答案 0 :(得分:0)
Catch Throwable并查看而不是Exception。它应该工作。
} catch (Throwable e) {
System.out.println(e.getMessage());
_log.error(e.getMessage());
if (priceList != null) {
priceList.setReadCorrectly(false);
}
}