
org.sonar.l10n.squidjava.rules.squid.S128.html Maven / Gradle / Ivy
When the execution is not explicitly terminated at the end of a switch case, it continues to execute the statements of the following case.
While this is sometimes intentional, it often is a mistake which leads to unexpected behavior.
This rule doesn't apply to empty cases. Indeed those empty cases allow you to specify the same behavior for a group of cases.
The following code snippet illustrates this rule:
switch (myVariable) {
case 0: // Compliant
case 1: // Compliant
doSomething();
break;
case 2: // Compliant
return;
case 3: // Compliant
throw new IllegalStateException();
case 4: // Compliant
continue;
case 5: // Non-Compliant - both 'doSomething()' and 'doSomethingElse()' will be executed
doSomething();
default: // Non-Compliant
doSomethingElse();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy