``switch`` can contain a ``default`` clause for various reasons: to handle unexpected values, to show that all the cases were properly considered.
For readability purpose, to help a developer to quickly find the default behavior of a ``switch`` statement, it is recommended to put the ``default`` clause at the end of the ``switch`` statement. This rule raises an issue if the ``default`` clause is not the last one of the ``switch``'s cases.

== Noncompliant Code Example

----
switch (param) {
  case 0:
    doSomething();
    break;
  default: // default clause should be the last one
    error();
    break;
  case 1:
    doSomethingElse();
    break;
}
----

== Compliant Solution

----
switch (param) {
  case 0:
    doSomething();
    break;
  case 1:
    doSomethingElse();
    break;
  default:
    error();
    break;
}
----
