Je ne sais pas si c'était "le" cas d'utilisation officiel, mais ce qui suit génère un avertissement en Java (qui peut en outre produire des erreurs de compilation s'il est mélangé à des return
instructions, conduisant à du code inaccessible):
while (1 == 2) { // Note that "if" is treated differently
System.out.println("Unreachable code");
}
Cependant, c'est légal:
while (isUserAGoat()) {
System.out.println("Unreachable but determined at runtime, not at compile time");
}
Je me retrouve donc souvent à écrire une méthode d'utilité idiote pour le moyen le plus rapide de simuler un bloc de code, puis à terminer le débogage, trouver tous les appels, donc à condition que l'implémentation ne change pas, cela peut être utilisé pour cela.
JLS souligne if (false)
qu'il ne déclenche pas de "code inaccessible" pour la raison spécifique que cela interromprait la prise en charge des indicateurs de débogage, c'est-à-dire, fondamentalement, ce cas d'utilisation (h / t @auselen). ( static final boolean DEBUG = false;
par exemple).
J'ai remplacé while
pour if
, produisant un cas d'utilisation plus obscur. Je crois que vous pouvez déclencher votre IDE, comme Eclipse, avec ce comportement, mais cette modification est dans 4 ans et je n'ai pas d'environnement Eclipse pour jouer.