This rule applies whenever an if statement is followed by one or more else if statements; the final else if should be followed by an else statement.

The requirement for a final else statement is defensive programming.

The else statement should either take appropriate action or contain a suitable comment as to why no action is taken. This is consistent with the requirement to have a final case _ clause in a match.

Noncompliant Code Example

if (x == 0) {
  doSomething
} else if (x == 1) {
  doSomethingElse
}

Compliant Solution

if (x == 0) {
  doSomething
} else if (x == 1) {
  doSomethingElse
} else {
  throw new IllegalStateException
}

See