Next: Environment-Variablen
Up: Referenz-Handbuch
Previous: Tracing : g_trace.c
Die Klasse G_msg dient der Steuerung der Ausgabe von
Warn- und Fehlermeldungen. Die auszugebenden Meldungen werden aus
einer Datei gelesen, die sich einem der von Environmentvariable
G_MSGPATH angegebenen Verzeichnisse befindet. Mit
der Methode addDirectory() können weitere
Verzeichnisse angegeben werden.
Für die unterschiedlichen Arten der Meldungen gibt es drei global
verfügbare Instanzen der Klasse G_msg.
- G_warning
- Die Meldungen werden formatiert und mit dem Kopftext für
Warnmeldungen ausgegeben.
- G_error
- Diese Meldungen werden mit dem Kopftext für Fehlermeldungen
ausgegeben. Gleichzeitig werden diese Meldungen gezählt. Wenn der
Wert aus der Umgebungsvariablen G_MAXERROR
überschritten wird, wird das Programm mit dem Aufruf der
Systemfunktion
exit(1) abgebrochen.
- G_fatal
- Diese Meldungen werden mit dem Kopftext für fatale Fehler ausgeben.
Danach wird das Programm sofort mit einem Funktionsaufruf
exit(2) abgebrochen.
void G_msg::msg (int nr, const char *group, const char *fun, ...)
-
Gibt die Meldung mit der Nummer
nr zur Gruppe
group evtl. mit weiteren Parametern in die
Standardfehlerausgabe (stderr) als Meldung aus. Dabei wird
fun als diejenige Funktion angegeben, die die Fehlersituation
erkannt hat. fun darf Umwandlungsspezifizierer enthalten,
für die weitere Parameter übergeben werden müssen. Das Labor
lädt dazu den Text dieser Meldung aus einer Datei mit dem Namen
msggroup aus einem der in Variable
G_MSGPATH angegebenen Verzeichnisse. Enthält
dieser Text Umwandlungsspezifizierer gemäß der Standardfunktion
printf() (z.B. %d, %s etc.), müssen der Methode
entsprechend weitere Parameter übergeben werden.
- Bemerkungen:
-
Zum Format der Meldungstextdateien siehe
Anhang.
- Fehlerfälle:
-
Es wird folgende Meldung ausgegeben.
Falls die Fehlermeldungsdatei nicht geöffnet werden kann, wird
anstelle des Fehlermeldungstextes die Nachricht ,,Can't
open message file fileName`` ausgegeben. Falls die
Meldungsdatei zwar geöffnet werden kann, sie aber keine Meldung
mit der geforderten Nummer enthält, wird die Nachricht
,,Can't find message number nr`` ausgegeben.
static void G_msg::setHeaders (const char *fileName)
-
Liest die Einleitungstexte der Meldungen aus der Datei
fileName ein. Zum Format dieser Datei siehe
Anhang.
static void G_msg::addDirectory (const char *directory)
-
Fügt das Verzeichnis
directory zu den Verzeichnissen hinzu,
in denen nach Meldungsdateien gesucht werden soll.
Next: Environment-Variablen
Up: Referenz-Handbuch
Previous: Tracing : g_trace.c
Friedbert Widmann
7/20/2003