2010-10-25 44 views
1

为什么Eclipse在下面的方法的第四行给我一个死代码警告?它如何不可达?Eclipse的死代码警告何时可达?

private void writeToSequenceFile() { 
try { 
    CustomFileWriter nBatchWriter = new CustomFileWriter(sequeneceFileName, CONFIG_RESOURCE_NAME, "outputFile"); 
    // The line below is a dead code? 
    lineBuilder.setString("Line", fileSequenceDate.concat(" ").concat(fileSequenceNo)); 
    lineBuilder.setString("LineFeed", "\r"); 
    nBatchWriter.writeRecord(lineBuilder.toRecord()); 

    nBatchWriter.close(); 
    } catch (Exception ex){ 
    throw new NcoBusinessProgramException("Error Writing To Sequence File!"); 
    } 
} 
+10

保存,清理并重建。 – 2010-10-25 17:47:15

+0

我的第一个想法是,你的构造函数中有一个'throw'行。 – Powerlord 2010-10-25 17:48:34

+2

在另一点上,你应该在'finally'中关闭'nBatchWriter'。 – dogbane 2010-10-25 17:48:52

回答

0

它编译?

如果CustomFileWriter构造函数调用writeToSequenceFile(),导致无限递归,那么下一行将永远无法到达,那么我可以想象该行无法访问的唯一可能方式。 (或者,如果构造函数总是抛出一个异常,但这将是一个非常愚蠢的写法。)

0

你确定它是?它可能是一个人工制品,尝试关闭并重新打开该文件,或保存全部并重建。