Я не знаю, чи це був "офіційний" випадок використання, але наступне створює попередження в Java (яке може додатково створювати помилки компіляції, якщо їх змішувати з return
операторами, що призводить до недосяжного коду):
while (1 == 2) { // Note that "if" is treated differently
System.out.println("Unreachable code");
}
Однак це законно:
while (isUserAGoat()) {
System.out.println("Unreachable but determined at runtime, not at compile time");
}
Тому я часто описуюсь дурним корисним методом для якнайшвидшого вилучення блоку коду, тоді при завершенні налагодження знайдіть усі виклики до нього, тому за умови, що реалізація не змінить це можна використовувати для цього.
JLS зазначає, if (false)
що не викликає "недоступний код" з тієї конкретної причини, що це порушило б підтримку прапорів налагодження, тобто, в основному, це випадки використання (h / t @auselen). ( static final boolean DEBUG = false;
наприклад).
Я замінив while
на if
, виробляючи більше неясний випадок використання. Я вважаю, що ви можете подорожувати свою IDE, як Eclipse, такою поведінкою, але це редагування - це 4 роки в майбутнє, і я не маю середовища для Eclipse.