首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Eclipse IDE Problems部分下的Dead Code意味着什么

Eclipse IDE Problems部分下的Dead Code意味着什么
EN

Stack Overflow用户
提问于 2012-01-03 22:15:03
回答 8查看 66.8K关注 0票数 22

我正在使用Eclipse Helios IDE进行Web应用程序开发。在Eclipse中的Problems部分下,某些行的描述显示为"Dead Code“。

有人能告诉我Dead Code到底是什么意思吗?

请看屏幕截图以供参考。

例如,这部分在Eclipse下显示为死代码

代码语言:javascript
运行
复制
 else {
        int length;
        if (ar != null)
            length = Array.getLength(ar);
        else
            length = 0; // This line is dead code
EN

回答 8

Stack Overflow用户

发布于 2012-01-03 22:17:04

死代码是永远不会执行的代码,例如

代码语言:javascript
运行
复制
 boolean b = true
 if (!b) {
    .... 
    // dead code here
 }
票数 5
EN

Stack Overflow用户

发布于 2012-01-05 01:43:36

Eclipse提供了两种类型的诊断,用于标记在运行时将执行/可能不执行的代码。1)不可达代码:这些是通常的java警告,遵循JLS的不可达规则,也由javac给出。这些都是编译错误。示例:

代码语言:javascript
运行
复制
   int foo() {
      return 1;
      int i = 1; // Unreachable
   }
   int foo2() {
     while (true);
     int i =1; //Unreachable
   }

还有其他更复杂的示例:)

2)死代码:这是Eclipse自己的静态分析警告,并且主要与空分析绑定在一起。

代码语言:javascript
运行
复制
   void foo() {
     Object o = null;
     if (o == null) {
     } else {
     // dead code
     }

上面给出的例子不应该给出一个死代码警告。即

代码语言:javascript
运行
复制
boolean x = true;
if (x) {
   // do something
} else {
   // this is dead code!
}

不应该给出警告,因为JLS禁止编译器计算变量的“值”。我们能评估的就是'nullness‘

希望这能有所帮助

票数 2
EN

Stack Overflow用户

发布于 2013-12-23 11:08:19

您可能在"Dead Code“行上方的行中有一个空指针异常。确保检查"Null Pointer“异常。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8713557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档