12.7 Ausgeben von Fehlermeldungen – #error
 
Mit
#error "Fehlermeldung"
wird eine Stringkonstante Fehlermeldung in der entsprechenden Zeile ausgegeben. Zum Beispiel:
/* nicht_fertig.c */
#include <stdio.h>
#include <stdlib.h>
#define FERTIG
int main(void) {
printf("Programmstart!\n");
#ifdef FERTIG
#error "Das Programm ist noch nicht fertig gestellt!!\n"
#endif
printf("Programmende");
return EXIT_SUCCESS;
}
Wenn Sie versuchen, das Programm zu kompilieren, wird folgende Fehlermeldung des Compilers ausgegeben:
Das Programm ist noch nicht fertig gestellt!!
Das Programm lässt sich somit auch nicht kompilieren. Damit kann z.B. vermieden werden, dass ein noch nicht ganz fertig gestellter bzw. nicht fehlerfreier Codeabschnitt verwendet wird. Das kann bei einem Projekt, an dem mehrere Leute arbeiten, praktisch sein. Aber es lassen sich damit auch Fehlermeldungen ausgeben, die im Zusammenhang mit der Expansion von Makros festgestellt wurden. Zum Beispiel:
/* nicht_gerade.c */
#include <stdio.h>
#include <stdlib.h>
#define MAX 101
int main(void) {
printf("Programmstart\n");
#if (MAX % 2) == 1
#error "symb. Konstante MAX muss eine gerade Zahl sein!\n"
#endif
printf("Programmende\n");
return EXIT_SUCCESS;
}
Dieses Programm lässt sich erst übersetzen, wenn Sie der symbolischen Konstante MAX einen geraden Wert übergeben.
|