【发布时间】:2011-04-17 06:31:31
【问题描述】:
在调试程序时,我经常发现在代码块中插入 return 语句很方便(尽管可以说是不好的做法)。我可能会在 Java 中尝试这样的事情 ....
class Test {
public static void main(String args[]) {
System.out.println("hello world");
return;
System.out.println("i think this line might cause a problem");
}
}
当然,这会产生编译器错误。
Test.java:7: 无法访问的语句
我可以理解为什么警告可能是正当的,因为有未使用的代码是不好的做法。但我不明白为什么这需要产生错误。
这只是 Java 试图成为 Nanny,还是有充分的理由让它成为编译器错误?
【问题讨论】:
-
Java 对此也不完全一致。对于一些导致死代码的控制流,但 Java 没有抱怨。对其他人来说确实如此。确定哪些代码死了是一个无法计算的问题。我不知道为什么 Java 决定开始一些它无法完成的事情。
标签: java language-design unreachable-statement