The requirement for a final ``++when else++`` clause is defensive programming. The clause should either take appropriate action, or contain a suitable comment as to why no action is taken.

== Noncompliant Code Example

[source,apex]
----
switch on i { // missing 'when else'
  when 2 {
    System.debug('when block 2');
  }
  when -3 {
    System.debug('when block -3');
  }
}
----

== Compliant Solution

[source,apex]
----
switch on i { 
  when 2 {
    System.debug('when block 2');
  }
  when -3 {
    System.debug('when block -3');
  }
  when else {
    System.debug('default');
  }
}
----

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[]
