Program flow can be conditional, iterative, or behavioral:
Conditional program flow is based on evaluating the state to make a decision as to which code should run.
Iterative flow is the ability to process lists or collections of information systematically and consistently.
Behavioral flow can be defined as an event or callback in which specific logic should be applied based on user engagement with the web application or the completion of another task.
Exception handling constructs provide the ability to run specific logic in the case of an error in the program.