fallthrough : "possible fall-through into case"

2305 vistas

Este warning señala posibles errorres en los bloques switch si no usamos break al final de cada case. Por ejemplo, en el código siguiente:



java
  1. switch (value) {
  2.   case 1:
  3.       System.out.println("Uno");
  4.   case 2:
  5.       System.out.println("Dos");
  6.   case 3:
  7.       System.out.println("Tres");
  8. }



Si value es 1, se ejecutará el código de los tres case porque no hay ningún break. Aunque esto lo permita el lenguaje, es una práctica desaconsejada por la complejidad de lectura posterior.

El resultado de la compilación será:



dos
  1. Main.java:19: warning: [fallthrough] possible fall-through into case
  2.                         case 2:
  3.                         ^
  4. Main.java:21: warning: [fallthrough] possible fall-through into case
  5.                         case 3:
  6.                         ^



Esta warning sólo está activo con las opciones -Xlint o -Xlint:fallthrough de javac 5.0 o bien con la opción -Xswitchcheck en versiones anteriores.