2010-10-25 54 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

你確定它是?它可能是一個人工製品,嘗試關閉並重新打開該文件,或保存全部並重建。