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
switch on i { // missing 'when else'
when 2 {
System.debug('when block 2');
}
when -3 {
System.debug('when block -3');
}
}
Compliant solution
switch on i {
when 2 {
System.debug('when block 2');
}
when -3 {
System.debug('when block -3');
}
when else {
System.debug('default');
}
}