10.7 Ausgeben von Fehlermeldungen – »#error« 

Mit
#error "Fehlermeldung"
wird eine Stringkonstante Fehlermeldung in der entsprechenden Zeile ausgegeben; zum Beispiel so:
/* 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 fertiggestellter 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.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.