rrors and exceptionsare two similar notions that differ in one crucial aspect: exceptions are a runtime concept, whereas errors are anomalous conditions that can and should be detected as early as possible—at compile-time or even during the preprocessing phase. The following sections show how to deal with errors during the preprocessing phase.

How do you detect anomalous and incorrect settings of the target environment as early as possible?

Use the preprocessor's conditional expressions and the #errordirective.