【发布时间】:2017-08-29 16:10:17
【问题描述】:
fortify 抱怨以下代码:
protected void doStuff() throws Exception{
try (CSVReader csvReader = new CSVReader(new FileReader(file))) {
...
String[] read;
read = csvReader.readNext();
...
}
}
在 FileReader 抛出异常的情况下。我是 java 新手,我不清楚为什么 try with resources 块不能处理这种情况。如何处理?
【问题讨论】:
-
确实如此。 Fortify 是错误的(除非 CSVReader 在关闭时没有关闭它包装的阅读器,这会令人惊讶)。
-
@JBNizet 或者在
CSVReader的构造过程中抛出异常。 -
fortify可能太老了,无法理解尝试资源 - 不熟悉。 Java-6 中的这种构造将是失败的。 -
抱怨是什么意思?如果您遇到语法错误,那么您的编译器可能与 Java SE 1.7 不兼容。
-
是的。看到这个答案:stackoverflow.com/a/21348893/638028