Findbugs:RV_RETURN_VALUE_IGNORED_BAD_PRACTICE

Nik*_*sov 4 java io findbugs

FindBugs用来从Ant分析Eclipse中的代码.

以下片段给出RV_RETURN_VALUE_IGNORED_BAD_PRACTICE:

RV:方法忽略异常返回值(RV_RETURN_VALUE_IGNORED_BAD_PRACTICE)

此方法返回未检查的值.应检查返回值,因为它可以指示异常或意外的函数执行.例如,如果无法成功删除文件(而不是抛出异常),则File.delete()方法返回false.如果不检查结果,则不会注意方法调用是否通过返回非典型返回值来表示意外行为.

public void export (File file) throws IOException {
    if (!file.exists()) {
        file.createNewFile();
    }

    BufferedWriter bw = null;
    try {
        bw = new BufferedWriter(new FileWriter(file.getAbsoluteFile()));
    ...
Run Code Online (Sandbox Code Playgroud)

实际上我并不关心文件存在与否,该方法应该继续执行.如果发生异常,它将被抛出export()

如何重写此代码段,以便不显示警告/错误,而不在Findbugs配置文件中禁用它?

Dan*_*lor 5

在这种特殊情况下,您不必调用,file.createNewFile()因为无论如何都将创建文件FileWriter.

但是,您必须确保该文件的父文件夹存在.