我将 Eclipse 与 PMD 插件 (4.0.0.v20130510-1000) 一起使用,遇到了很多违规问题并解决了其中的大部分问题,但我不明白为什么 DD 异常
出现在下面的代码中
private boolean createFile(final String szFileName){
final File oFile = FileUtils.getFile(szFileName);
boolean bStatus;
try {
FileUtils.touch(oFile);
bStatus = true; // DD anomaly
} catch (IOException e) {
log.error("Failed to create new file. "+ e);
bStatus = false;
}
return bStatus;
}
我不能使用多个返回语句,因为 multiple exit point
规则会被破坏。
换了个方法,却发现DD异常到另一条线,
private boolean createFile(final String szFileName){
final File oFile = FileUtils.getFile(szFileName);
boolean bStatus = true; // DD anomaly
try {
FileUtils.touch(oFile);
} catch (IOException e) {
log.error("Failed to create new file. "+ e);
bStatus = false;
}
return bStatus;
}
最佳答案
另一种方法是让 createFile
抛出一个 IOException
并在上游处理它。然后你可以让 createFile
返回 void
,或者更好的是让它返回它创建的文件。这将消除您收到的 DD 异常
。
替代createFile
:
private File createFile(final String szFileName) throws IOException {
final File oFile = FileUtils.getFile(szFileName);
FileUtils.touch(oFile);
return oFile;
}
关于java - PMD : DD anomaly for variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35740032/