Control Flow
The control flow is the path of execution through a program.
Related concepts: SequenceConditionalLoop
Closest Wikipedia entry: Control flow
Misconceptions about Control Flow28 documented Misconceptions
Check YourselfCatchAlwaysExecutes — Java
Catch blocks always get executed
CatchProvidesOptions — Java
Only the part of a catch block necessary to fix the cause of an exception is executed
ConditionalIsSequence — Java
If-else is equivalent to sequence of two ifs
DeferredReturn — Java
A return statement in the middle of a method doesn't return immediately
ElsIf — Java
There is an elsif keyword for multi-way conditional statements
ElseAlwaysExecutes — Java
The else branch of an if-else statement always executes
ForIsConditional — Java
The body of a for statement executes at most once
IfIsLoop — Java
The body of an if statement executes repeatedly, as long as the condition holds
IfRequiresElse — Java
Every if statement requires an else
LoopTerminatingCondition — Java
For and while loops end when the condition becomes true
NoShortCircuit — Java
&& and || always evaluate both operands
PreIncrementBeforeLoop — Java
Pre-increment in update part of for loop means increment before loop body
RecursiveMethodNeedsIfElse — Java
A recursive method needs to contain an if-else statement
TryCatchMandatory — Java
When a piece of code can throw an exception, it must be surrounded with a try/catch block
TryFinishes — Java
Exceptions get thrown at the end of the try block
ConditionalOperatorNotExpression — JavaScript
The conditional operator is not an expression
ConditionalIsSequence — Python
If-else is equivalent to sequence of two ifs
DeferredReturn — Python
A return statement in the middle of a function doesn't return immediately
IfIsLoop — Python
The body of an if-statement executes repeatedly, as long as the condition holds
NoShortCircuit — Python
and/or always evaluate both operands
OutsideInFunctionNesting — Python
Nested function calls are invoked outside in
RecursiveFunctionNeedsIfElse — Python
A recursive function needs to contain an if-else statement
RightToLeftChaining — Python
Chained accesses are invoked from right to left
ConditionalIsSequence — Scratch
If-then-else block is equivalent to sequence of two if-then blocks
ElseAlwaysExecutes — Scratch
The else branch of an if-then-else block always executes
MissingElseTerminates — Scratch
Blocks following an if without else will not execute if the condition is false
RepeatDistributes — Scratch
Each block in a loop is repeated individually
ResetStateEachLoopIteration — Scratch
The computation of all loop iterations starts from the state before the loop