我正在使用Eclipse Helios IDE进行Web应用程序开发。在Eclipse中的Problems部分下,某些行的描述显示为"Dead Code“。
有人能告诉我Dead Code到底是什么意思吗?
请看屏幕截图以供参考。
例如,这部分在Eclipse下显示为死代码
else {
int length;
if (ar != null)
length = Array.getLength(ar);
else
length = 0; // This line is dead code
发布于 2012-01-03 22:17:04
死代码是永远不会执行的代码,例如
boolean b = true
if (!b) {
....
// dead code here
}
发布于 2012-01-05 01:43:36
Eclipse提供了两种类型的诊断,用于标记在运行时将执行/可能不执行的代码。1)不可达代码:这些是通常的java警告,遵循JLS的不可达规则,也由javac给出。这些都是编译错误。示例:
int foo() {
return 1;
int i = 1; // Unreachable
}
int foo2() {
while (true);
int i =1; //Unreachable
}
还有其他更复杂的示例:)
2)死代码:这是Eclipse自己的静态分析警告,并且主要与空分析绑定在一起。
void foo() {
Object o = null;
if (o == null) {
} else {
// dead code
}
上面给出的例子不应该给出一个死代码警告。即
boolean x = true;
if (x) {
// do something
} else {
// this is dead code!
}
不应该给出警告,因为JLS禁止编译器计算变量的“值”。我们能评估的就是'nullness‘
希望这能有所帮助
发布于 2013-12-23 11:08:19
您可能在"Dead Code“行上方的行中有一个空指针异常。确保检查"Null Pointer“异常。
https://stackoverflow.com/questions/8713557
复制相似问题