删除无效代码会导致错误

伊瓦木

我正在使用Eclipse 4.3 Kepler(实际上是STS 3.6.1)。

我遇到了一些代码:

private String someMethod(String myParam) {
    try {
        MyInterface myVar = (MyInterface) domeSomething(myParam);
        if (myVar != null) {
            return myVar.methodThatReturnsString();
        }
    } catch (Exception e) {
        return "";
    }
    return ""; // eclipse marks this as dead code
}

(如您所料,该doSomething()方法会引发一些异常,并且返回的接口将比更为通用MyInterface。)

Eclipse在最后一个return语句下划线强调为死代码,如果我按照快速修复建议将其删除,则会出现“此方法应返回String类型的结果”错误。

为什么最后一个return语句为死代码?是因为上课吗?假设它doSomething()可能返回null,如果您将其强制转换,是否会抛出类强制转换异常?

而且,为什么Eclipse为什么建议我用导致死代码警告的方式修复错误是因为Eclipse无法预测这一点吗?

路易吉·门多萨

您发布的代码中没有无效代码。我能看到的唯一问题是在这里:

if (myVar != null) {
    return myVar;
}

您要返回MyInterface时应返回String编译器会抱怨它,这是正确的。

另外,作为更好的选择,您不应直接在tryorcatch内返回,而应在此块后设计单个位置以返回结果。这将使您的代码避免任何死代码编译器错误。您可能会看起来像:

private String someMethod(String myParam) {
    String result = "";
    try {
        MyInterface myVar = (MyInterface) domeSomething(myParam);
        if (myVar != null) {
            result = myVar.methodThatReturnsString();
        }
    } catch (Exception e) {
        //handle the exception
        //basic handling shown
        System.out.println("Warning. There was a problem executing someMethod:");
        e.printStacktrace();
    }
    return result;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

集成设置代码会导致链接器错误;删除代码,没有错误

来自分类Dev

合并带有SVN的文件夹删除会导致“无效的状态以更新属性”错误

来自分类Dev

删除重复的代码会导致多余的操作?

来自分类Dev

编译代码太快会导致错误

来自分类Dev

从javascript数组删除项目会导致错误

来自分类Dev

为什么此代码会导致与MSVC的无效对齐?

来自分类Dev

为什么这段代码会导致无效的指针?

来自分类Dev

为什么这段代码会导致无效的指针?

来自分类Dev

使用mmap会导致无效的参数错误

来自分类Dev

解码JSON数据会导致“无效的控制字符”错误

来自分类Dev

在表中使用sysdate会导致无效月份的错误

来自分类Dev

无法对我的代码说“无效输入”,总是导致 int 错误

来自分类Dev

尝试从源代码构建Qt会导致错误

来自分类Dev

为什么此代码会导致分段错误

来自分类Dev

为什么此代码会导致“需要对象”错误?

来自分类Dev

SQL IF块代码即使不执行也会导致错误

来自分类Dev

将代码块转换为函数会导致错误

来自分类Dev

逐字包装辅助函数中的代码会导致借入错误

来自分类Dev

为什么此代码会导致分段错误

来自分类Dev

尝试从源代码构建Qt会导致错误

来自分类Dev

为什么此代码会导致“需要对象”错误?

来自分类Dev

生成CRUD代码后更改表会导致yii错误

来自分类Dev

为什么此代码会导致访问错误?

来自分类Dev

在Safari中删除会话变量会导致错误

来自分类Dev

从hasMany关系中删除多个记录会导致js错误

来自分类Dev

C ++从向量中删除指针会导致堆错误

来自分类Dev

删除表控件会导致运行时错误

来自分类Dev

使用QGraphicsEffect删除QGraphicsItem会导致段错误

来自分类Dev

使用GPXPY解析gpx文件会导致格式不正确的无效令牌错误

Related 相关文章

  1. 1

    集成设置代码会导致链接器错误;删除代码,没有错误

  2. 2

    合并带有SVN的文件夹删除会导致“无效的状态以更新属性”错误

  3. 3

    删除重复的代码会导致多余的操作?

  4. 4

    编译代码太快会导致错误

  5. 5

    从javascript数组删除项目会导致错误

  6. 6

    为什么此代码会导致与MSVC的无效对齐?

  7. 7

    为什么这段代码会导致无效的指针?

  8. 8

    为什么这段代码会导致无效的指针?

  9. 9

    使用mmap会导致无效的参数错误

  10. 10

    解码JSON数据会导致“无效的控制字符”错误

  11. 11

    在表中使用sysdate会导致无效月份的错误

  12. 12

    无法对我的代码说“无效输入”,总是导致 int 错误

  13. 13

    尝试从源代码构建Qt会导致错误

  14. 14

    为什么此代码会导致分段错误

  15. 15

    为什么此代码会导致“需要对象”错误?

  16. 16

    SQL IF块代码即使不执行也会导致错误

  17. 17

    将代码块转换为函数会导致错误

  18. 18

    逐字包装辅助函数中的代码会导致借入错误

  19. 19

    为什么此代码会导致分段错误

  20. 20

    尝试从源代码构建Qt会导致错误

  21. 21

    为什么此代码会导致“需要对象”错误?

  22. 22

    生成CRUD代码后更改表会导致yii错误

  23. 23

    为什么此代码会导致访问错误?

  24. 24

    在Safari中删除会话变量会导致错误

  25. 25

    从hasMany关系中删除多个记录会导致js错误

  26. 26

    C ++从向量中删除指针会导致堆错误

  27. 27

    删除表控件会导致运行时错误

  28. 28

    使用QGraphicsEffect删除QGraphicsItem会导致段错误

  29. 29

    使用GPXPY解析gpx文件会导致格式不正确的无效令牌错误

热门标签

归档