We want our exceptions (if we have any), at SM Start Up…

…so that if something is wrong, don’t start.

But once we’re up, then we want to either transition to some recovery state and or log what happened.

Clients will be a likely source of exceptions

But if your client loses its server on the network, we would want to transition somewhere, take action to restart the server.

We probably don’t want the whole robot application to crash when it loses a sensor. At least not in military environments.