...
| Wiki Markup |
|---|
*MSC09-EX0*: The {{break}} statement at the end of the final case in a {{switch}} statement may be omitted. By convention, this is the {{default}} label. The {{break}} statement serves to transfer control to the end of the {{switch}} block. Fall-through behavior also causes control to arrive at the end of the {{switch}} block. Consequently, control transfers to the statements following the {{switch}} block without regard to the presence or absence of the {{break}} statement. Nevertheless, the final case in a {{switch}} statement should end with a {{break}} statement, in accordance with good programming style (see \[java:[Rogue 2000|AA. Bibliography#RogueReferences#Rogue 00]\]). |
MSC09-EX1: When multiple cases require execution of identical code, then break statements may be omitted from all cases except the last one. For example:
...
MSC17-C. Finish every set of statements associated with a case label with a break statement | ||||
MSC18-CPP. Finish every set of statements associated with a case label with a break statement | ||||
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="1141fcb94a0ad64b-f1226e96-4f6041da-af36b0fb-2cafc49d788b04855ab49af0"><ac:plain-text-body><![CDATA[ | [ISO/IEC TR 24772:2010 | http://www.aitcnet.org/isai/] | "Switch Statements and Static Analysis [java:CLL]" | ]]></ac:plain-text-body></ac:structured-macro> |
CWE-484, "Omitted Break Statement in Switch" |
...
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="a9c1414f05b32f31-455aa0d4-48364073-a8a7bfba-4d74c30d55be6788aad3918a"><ac:plain-text-body><![CDATA[ | [java:[JLS 2005 | AA. Bibliography#JLS References#JLS 05]] | [Section 14.11 The switch Statement | http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.11] | ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="aa2c4361abe53f92-0f8c7ce3-437348d1-a9178a02-eb08442fcce1595df7bd6124"><ac:plain-text-body><![CDATA[ | [java:[Rogue 2000 | AA. Bibliography#Rogue References#Rogue 00]] | [The Elements of Java Style | http://www.ambysoft.com/books/elementsJavaStyle.html], Rule 78. | ]]></ac:plain-text-body></ac:structured-macro> |
...