Control flow
Throwable class for orchestrator functions. This
Throwable must never be caught by user
code.
OrchestratorBlockedException is thrown when an orchestrator calls Task.await() on an uncompleted task. The
purpose of throwing in this way is to halt execution of the orchestrator to save the current state and commit any
side effects. Catching OrchestratorBlockedException in user code could prevent the orchestration from saving
state and scheduling new tasks, resulting in the orchestration getting stuck.