# Real-Time Robotics Framework

### Sidebar

getting_started:practical_problems:faults_cs

## Handle Faults in the Control System

When a time domain runs, it can encounter two main obstacles. It could try to read from an unconnected input or it could try to write the value of nan to an output. If either of this happens a fault is thrown. Such a fault will cause the application to stop unless it is properly handled in the control system, e.g. by changing into a safe level, see Time Domains.

The root cause for these faults is

1. input not connected: forget to connect the input
2. write nan to output: all signals are initialized to nan, If a block never runs (probably forgot to add to time domain, or time domain never runs) its output signals will stay at nan.