``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; } ----