【发布时间】:2016-02-26 19:46:26
【问题描述】:
我为 java 开发者使用 eclipse IDE
编辑:我应该只指 eclispe IDE,因为不同语言的其他编译器只会给出警告并且可以处理代码
我知道什么会导致这个错误(无法访问的代码),但是为什么它作为错误而不是警告存在?什么是编译器无法处理无法访问的代码?
Unreachable code: error or warning? 我见过这个问题,但它没有回答为什么编译器不能处理不可访问以及为什么它必须给出错误。
我认为它肯定可以编译它并且永远不会到达已编译程序中的代码,但显然编译器(我使用 eclipse for java)不允许它。
【问题讨论】:
-
Java 是很多人最先学习的语言,至少现在是这样。也许设计者考虑到了这一点,并决定限制人们使用无法访问的代码,即使它实际上并没有受到伤害。不妨教这些编程新手不要有无法访问的代码。新手可能倾向于忽略警告,因为他们对完成任务/项目非常兴奋。
-
您的问题似乎是基于错误的假设。如果您查看this question,您会发现在 C/C++ 中,死代码确实是一个警告,编译器能够处理它。 (这里的处理意味着要么消除它,要么忽略它)
-
顺便说一句,这是一个设计决策,而不是技术决策;并不是编译器“无法处理”,而是 Java 编译器设计试图完全避免警告,因为它们通常被用户忽略。在引入泛型之前,根本没有任何警告。现在,如果忽略泛型的语义,它会发出一些警告。
标签: java c++ eclipse compiler-errors