The requirement for a final ``++case default++`` clause is defensive programming. The clause should either take appropriate action, or contain a suitable comment as to why no action is taken. Even when the ``++switch++`` covers all current values of an ``++enum++``, a default case should still be used because there is no guarantee that the ``++enum++`` won't be extended. == Noncompliant Code Example ---- switch ($param) { //missing default clause case 0: do_something(); break; case 1: do_something_else(); break; } ---- == Compliant Solution ---- switch ($param) { case 0: do_something(); break; case 1: do_something_else(); break; default: error(); break; } ---- include::../see.adoc[] ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::../message.adoc[] ''' == Comments And Links (visible only on this page) include::../comments-and-links.adoc[] endif::env-github,rspecator-view[]